Bird
Raised Fist0
Swiftprogramming~5 mins

Array operations (append, insert, remove) in Swift

Choose your learning style10 modes available
Introduction

Arrays help you store many items in order. You can add, insert, or remove items to change the list as you want.

You want to keep a list of your favorite songs and add new ones.
You need to insert a new task in the middle of your to-do list.
You want to remove a finished item from your shopping list.
You are collecting scores in a game and want to update the list.
You want to keep track of names and change the list as people join or leave.
Syntax
Swift
var arrayName: [Type] = []

// Append adds an item at the end
arrayName.append(newItem)

// Insert adds an item at a specific position
arrayName.insert(newItem, at: index)

// Remove deletes an item at a specific position
arrayName.remove(at: index)

Arrays in Swift start with index 0 for the first item.

Make sure the index is within the array size when inserting or removing.

Examples
Append adds "Cherry" to the end of the fruits array.
Swift
var fruits = ["Apple", "Banana"]
fruits.append("Cherry")
// fruits is ["Apple", "Banana", "Cherry"]
Insert adds "Orange" at position 1, pushing "Banana" to the right.
Swift
var fruits = ["Apple", "Banana"]
fruits.insert("Orange", at: 1)
// fruits is ["Apple", "Orange", "Banana"]
Remove deletes the first item "Apple" from the array.
Swift
var fruits = ["Apple", "Banana", "Cherry"]
fruits.remove(at: 0)
// fruits is ["Banana", "Cherry"]
Appending to an empty array adds the first item.
Swift
var emptyArray: [String] = []
emptyArray.append("First")
// emptyArray is ["First"]
Sample Program

This program shows how to add, insert, and remove items in a Swift array. It prints the array before and after each operation so you can see the changes.

Swift
import Foundation

// Define an array of strings
var colors = ["Red", "Green", "Blue"]

// Print original array
print("Original colors: \(colors)")

// Append a new color
colors.append("Yellow")
print("After append: \(colors)")

// Insert a color at index 2
colors.insert("Orange", at: 2)
print("After insert at index 2: \(colors)")

// Remove the color at index 1
colors.remove(at: 1)
print("After remove at index 1: \(colors)")
OutputSuccess
Important Notes

Appending an item is fast and usually takes constant time O(1).

Inserting or removing items in the middle can take longer because Swift shifts other items. This is O(n) time where n is the number of items.

Be careful with indexes: inserting or removing at an invalid index causes a runtime error.

Use append when adding to the end, insert when you need a specific position, and remove to delete unwanted items.

Summary

Arrays store ordered lists of items you can change.

Use append to add at the end, insert to add anywhere, and remove to delete items.

Always check indexes to avoid errors.

Practice

(1/5)
1. What does the append method do in a Swift array?
easy
A. Removes the last element from the array
B. Adds a new element to the end of the array
C. Inserts an element at the beginning of the array
D. Clears all elements from the array

Solution

  1. Step 1: Understand the append method

    The append method adds a new element to the end of the array, increasing its size by one.
  2. Step 2: Compare with other options

    Removing elements or inserting at the beginning are done by other methods, not append.
  3. Final Answer:

    Adds a new element to the end of the array -> Option B
  4. Quick Check:

    append = add at end [OK]
Hint: append always adds at the end of the array [OK]
Common Mistakes:
  • Confusing append with insert
  • Thinking append removes elements
  • Assuming append adds at the start
2. Which of the following is the correct way to insert the number 10 at index 2 in a Swift array named numbers?
easy
A. numbers.insert(10, at: 2)
B. numbers.append(10, at: 2)
C. numbers.add(10, index: 2)
D. numbers.insertAt(2, 10)

Solution

  1. Step 1: Recall the insert syntax in Swift

    The correct syntax is array.insert(element, at: index), so numbers.insert(10, at: 2) is correct.
  2. Step 2: Check other options for syntax errors

    Options A, B, and D use incorrect method names or argument orders.
  3. Final Answer:

    numbers.insert(10, at: 2) -> Option A
  4. Quick Check:

    insert(element, at: index) syntax [OK]
Hint: Use insert(element, at: index) to add anywhere [OK]
Common Mistakes:
  • Using append with index
  • Wrong method names like add or insertAt
  • Swapping argument order
3. What will be the output of the following Swift code?
var fruits = ["Apple", "Banana", "Cherry"]
fruits.append("Date")
fruits.remove(at: 1)
print(fruits)
medium
A. ["Banana", "Cherry", "Date"]
B. ["Apple", "Banana", "Cherry", "Date"]
C. ["Apple", "Cherry", "Date"]
D. ["Apple", "Date"]

Solution

  1. Step 1: Append "Date" to the fruits array

    After append, fruits = ["Apple", "Banana", "Cherry", "Date"].
  2. Step 2: Remove element at index 1

    Index 1 is "Banana", so removing it results in ["Apple", "Cherry", "Date"].
  3. Final Answer:

    ["Apple", "Cherry", "Date"] -> Option C
  4. Quick Check:

    append + remove(at: 1) = ["Apple", "Cherry", "Date"] [OK]
Hint: Append adds end; remove(at:) deletes by index [OK]
Common Mistakes:
  • Removing wrong index
  • Forgetting append adds element
  • Confusing remove(at:) with removeLast()
4. Identify the error in this Swift code snippet:
var numbers = [1, 2, 3]
numbers.remove(at: 3)
medium
A. Cannot remove elements from an array
B. Syntax error due to missing parentheses
C. No error, code runs fine
D. Index out of range error because index 3 does not exist

Solution

  1. Step 1: Check array indexes

    Array 'numbers' has indexes 0, 1, 2. Index 3 is out of range.
  2. Step 2: Understand remove(at:) behavior

    Calling remove(at: 3) causes a runtime error because the index is invalid.
  3. Final Answer:

    Index out of range error because index 3 does not exist -> Option D
  4. Quick Check:

    remove(at:) needs valid index [OK]
Hint: Check array size before remove(at:) [OK]
Common Mistakes:
  • Using invalid index without checking
  • Assuming remove(at:) can remove non-existing index
  • Confusing syntax errors with runtime errors
5. Given an empty Swift array var items = [String](), which sequence of operations will result in ["Pen", "Book", "Eraser"]?
hard
A. items.insert("Pen", at: 0)
items.insert("Book", at: 1)
items.insert("Eraser", at: 2)
B. items.append("Pen")
items.insert("Book", at: 0)
items.append("Eraser")
C. items.append("Pen")
items.append("Book")
items.insert("Eraser", at: 1)
D. items.insert("Pen", at: 1)
items.append("Book")
items.append("Eraser")

Solution

  1. Step 1: Start with empty array and insert "Pen" at index 0

    items = ["Pen"]
  2. Step 2: Insert "Book" at index 1 and "Eraser" at index 2

    items = ["Pen", "Book", "Eraser"]
  3. Step 3: Check other options for correctness

    items.append("Pen")
    items.insert("Book", at: 0)
    items.append("Eraser"): append "Pen" -> ["Pen"]; insert "Book" at 0 -> ["Book", "Pen"]; append "Eraser" -> ["Book", "Pen", "Eraser"] (wrong order).
    items.append("Pen")
    items.append("Book")
    items.insert("Eraser", at: 1): append "Pen", append "Book" -> ["Pen", "Book"]; insert "Eraser" at 1 -> ["Pen", "Eraser", "Book"] (wrong order).
    items.insert("Pen", at: 1)
    items.append("Book")
    items.append("Eraser"): insert "Pen" at 1 on empty array -> index out of range error.
  4. Final Answer:

    items.insert("Pen", at: 0)
    items.insert("Book", at: 1)
    items.insert("Eraser", at: 2)
    -> Option A
  5. Quick Check:

    Insert at correct indexes builds array [OK]
Hint: Insert at indexes 0,1,2 to build array step-by-step [OK]
Common Mistakes:
  • Inserting at invalid index in empty array
  • Confusing append and insert order
  • Assuming insert can add beyond current size
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard