- Swift Tutorial
- Swift - Home
- Swift - Overview
- Swift - Environment
- Swift - Basic Syntax
- Swift - Variables
- Swift - Constants
- Swift - Literals
- Swift - Comments
- Swift Operators
- Swift - Operators
- Swift - Arithmetic Operators
- Swift - Comparison Operators
- Swift - Logical Operators
- Swift - Assignment Operators
- Swift - Bitwise Operators
- Swift - Misc Operators
- Swift Advanced Operators
- Swift - Operator Overloading
- Swift - Arithmetic Overflow Operators
- Swift - Identity Operators
- Swift - Range Operators
- Swift Data Types
- Swift - Data Types
- Swift - Integers
- Swift - Floating-Point Numbers
- Swift - Double
- Swift - Boolean
- Swift - Strings
- Swift - Characters
- Swift - Type Aliases
- Swift - Optionals
- Swift - Tuples
- Swift - Assertions and Precondition
- Swift Control Flow
- Swift - Decision Making
- Swift - if statement
- Swift - if...else if...else Statement
- Swift - if-else Statement
- Swift - nested if statements
- Swift - switch statement
- Swift - Loops
- Swift - for in loop
- Swift - While loop
- Swift - repeat...while loop
- Swift - continue statement
- Swift - break statement
- Swift - fall through statement
- Swift Collections
- Swift - Arrays
- Swift - Sets
- Swift - Dictionaries
- Swift Functions
- Swift - Functions
- Swift - Nested Functions
- Swift - Function Overloading
- Swift - Recursion
- Swift - Higher-Order Functions
- Swift Closures
- Swift - Closures
- Swift-Escaping and Non-escaping closure
- Swift - Auto Closures
- Swift OOps
- Swift - Enumerations
- Swift - Structures
- Swift - Classes
- Swift - Properties
- Swift - Methods
- Swift - Subscripts
- Swift - Inheritance
- Swift-Overriding
- Swift - Initialization
- Swift - Deinitialization
- Swift Advanced
- Swift - ARC Overview
- Swift - Optional Chaining
- Swift - Error handling
- Swift - Concurrency
- Swift - Type Casting
- Swift - Nested Types
- Swift - Extensions
- Swift - Protocols
- Swift - Generics
- Swift - Access Control
- Swift - Function vs Method
- Swift - SwiftyJSON
- Swift - Singleton class
- Swift Random Numbers
- Swift Opaque and Boxed Type
- Swift Useful Resources
- Swift - Compile Online
- Swift - Quick Guide
- Swift - Useful Resources
- Swift - Discussion
Swift - Arrays
Arrays are used to store ordered lists of values of the same type. Swift puts strict checking which does not allow you to enter a wrong type in an array, even by mistake. If you assign a created array to a variable, then it is always mutable, which means you can change it by adding, removing, or changing its elements; but if you assign an array to a constant, then that array is immutable, and its size and contents cannot be changed. If you try to change it, then the compiler will throw an error.
An array can store duplicate values in different positions. Each element in the array has an index value starting from 0 so that we can access and modify them using that index.
Creating Arrays in Swift
We can create an array by specifying the type of the array explicitly.
Syntax
Following is the syntax for creating an array −
var someArray : [Type] = []
We can also create an array without specifying its type. In this case, the compiler will automatically get the type of the array based on the assigned value.
var someArray = [value1, value2, value3]
If you need to create an array with a single value (by repeating it), you can do so using the Array() initializer.
var someInts = Array(repeating: "Swift", count: 4)
Example
In the following example we are creating 3 different arrays using all the above discussed syntaxes −
import Foundation // Defining an array by specifying the type var arr1:[Int] = [11, 44, 55, 77, 88, 22] print("Contents of arr1 :", arr1) // Defining an array without specifying the type var arr2 = [101, 404, 550, 770, 880, 222] print("Contents of arr2 :", arr2) // Defining an array with a single value var arr3 = Array(repeating: "Tutorialspoint", count: 3) print("Contents of arr3 :", arr3)
Output
The above program produces the following result −
Contents of arr1 : [11, 44, 55, 77, 88, 22] Contents of arr2 : [101, 404, 550, 770, 880, 222] Contents of arr3 : ["Tutorialspoint", "Tutorialspoint", "Tutorialspoint"]
Modifying and Accessing Arrays in Swift
In an array, every element has its own index value starting from 0. So to retrieve a value from an array, pass the index of the value we want to retrieve within square brackets immediately after the name of the array in the subscript syntax.
Syntax
Following is the syntax for accessing and modifying array −
arrayName[indexValue]
Here, the index starts from 0 which means the first element can be accessed using the index as 0, the second element can be accessed using the index as 1 and so on.
Example
import Foundation // Defining and initializing an array var someArr:[Int] = [11, 44, 55, 77, 88, 22] // Accessing the element present at index 3 // Using subscript syntax print("Array element:", someArr[3])
Output
When the above code is compiled and executed, it produces the following result −
Array element: 77
Using subscript syntax, we can also modify the elements of the array by assigning new value to the existing index.
Example
import Foundation // Defining and initializing an array var someArr:[Int] = [11, 44, 55, 77, 88, 22] // Modifying the array element present at index 3 // Using subscript syntax someArr[3] = 33 print("Modified Array element:", someArr[3])
Output
When the above code is compiled and executed, it produces the following result −
Modified Array element: 33
Adding a New Element in an Array in Swift
We are allowed to add new elements to the existing array using the following methods.
Using append() Method
It adds a new element at the end of the specified array.
Example
import Foundation // Defining and initializing an array var someArr:[Int] = [43, 32, 11] // Appending new element using append() method someArr.append(34) someArr.append(60) print("Updated Array", someArr)
Output
When the above code is compiled and executed, it produces the following result −
Updated Array [43, 32, 11, 34, 60]
Using the addition assignment operator (+=)
We can also add a new item at the end of an array using the addition assignment operator.
Example
import Foundation // Defining and initializing an array var someArr:[Int] = [43, 32, 11] // Adding new element using += operator someArr += [30] someArr += [90] print("Updated Array", someArr)
Output
When the above code is compiled and executed, it produces the following result −
Updated Array [43, 32, 11, 30, 90]
Iterating Over an Array in Swift
Iterating over an array is the fundamental and most commonly used operation in programming. It allows the developer to access and process individual elements of the specified array. In Swift, we can iterate over an array using the following methods −
Using for-in loop
We can use a for-in loop to iterate over the entire set of values in an array. It is the easiest and cleanest method to access and process each element of the given array sequentially.
Example
import Foundation // Defining and initializing an array var someArr:[Int] = [3, 56, 12, 4, 23, 5, 6, 7, 8] print("Array Elements:") // Iterating over the array using a for-in loop for x in someArr{ print(x) }
Output
When the above code is compiled and executed, it produces the following result −
Array Elements: 3 56 12 4 23 5 6 7 8
Using the enumerated() function with for-in loop
We can also use the enumerated() function along with the for-in loop, it returns the index of the item along with its value.
Example
import Foundation // Defining and initializing an array var someArr:[Int] = [3, 56, 23, 34, 5, 78, 9] print("Array Elements with their index value:") // Iterating over the array using for-in loop along with enumerated() function for (index, element) in someArr.enumerated() { print("Value at index = \(index) is \(element)") }
Output
When the above code is compiled and executed, it produces the following result −
Array Elements with their index value: Value at index = 0 is 3 Value at index = 1 is 56 Value at index = 2 is 23 Value at index = 3 is 34 Value at index = 4 is 5 Value at index = 5 is 78 Value at index = 6 is 9
Using while loop
We can also iterate over the element of the given array using a while loop. It provides explicit control over the iteration. It can be useful where a fine-grained control is required over the iteration.
Example
import Foundation // Defining and initializing an array var someArr:[Int] = [3, 56, 23, 34, 5, 78, 9] print("Array Elements:") var indexVal = 0 // Iterating over the array using while loop while indexVal < someArr.count { print(someArr[indexVal]) indexVal += 1 }
Output
When the above code is compiled and executed, it produces the following result −
Array Elements: 3 56 23 34 5 78 9
Using forEach() Function
Swift provides a pre-defined function named forEach() to iterate over the given array. It is useful to perform simple operations on the individual elements of the given array without iterating explicitly.
Example
import Foundation // Defining and initializing an array var someArr:[String] = ["Mona", "Pihu", "Mayank", "Sumit"] print("Array Elements:") // Iterating over the array using forEach() function someArr.forEach { names in print(names) }
Output
When the above code is compiled and executed, it produces the following result −
Array Elements: Mona Pihu Mayank Sumit
Adding Two Arrays in Swift
We can use the addition operator (+) to add two arrays of the same type which will yield a new array with a combination of values from the two arrays.
Syntax
Following is the syntax for adding two arrays −
var result = Array1 + Array2
Example
import Foundation // Defining and initializing an array var someArr1:[Int] = [11, 44, 55, 77, 88, 22] var someArr2:[Int] = [10, 40, 50, 70, 80, 20] // Adding two arrays of the same type // Using + operator var resultantArray = someArr1 + someArr2 print("Concatenated Array: ", resultantArray)
Output
When the above code is compiled and executed, it produces the following result −
Concatenated Array: [11, 44, 55, 77, 88, 22, 10, 40, 50, 70, 80, 20]
The count Property in Swift
The count property is used to count the total number of elements present in the specified array.
Syntax
Following is the syntax of the count property −
Array.count
Example
import Foundation // Defining and initializing arrays var someArr1:[Int] = [3, 56, 12, 4, 23, 5, 6, 7, 8] var someArr2:[String] = ["Blue", "Black", "Green", "Yellow"] var someArr3:[Int] = [] // Counting the total number of elements present // in the given array // Using count property print("Total number of elements present in someArr1 = \(someArr1.count)") print("Total number of elements present in someArr2 = \(someArr2.count)") print("Total number of elements present in someArr3 = \(someArr3.count)")
Output
When the above code is compiled and executed, it produces the following result −
Total number of elements present in someArr1 = 9 Total number of elements present in someArr2 = 4 Total number of elements present in someArr3 = 0
The empty Property in Swift
The empty property is used to check whether the given array is empty or not. This property will return true if the given array is empty. If the given array contains some element, then this property will return false.
Syntax
Following is the syntax of the empty property −
array.isEmpty
Example
import Foundation // Defining and initializing arrays var someArr1:[Int] = [2, 5, 66, 44, 32, 2, 12] var someArr2:[String] = ["Blue, Black"] var someArr3:[Int] = [] // Checking if the given arrays are empty or not // Using isEmpty property print("Is someArr1 is empty? = \(someArr1.isEmpty)") print("Is someArr2 is empty? = \(someArr2.isEmpty)") print("Is someArr3 is empty? = \(someArr3.isEmpty)")
Output
When the above code is compiled and executed, it produces the following result −
Is someArr1 is empty? = false Is someArr2 is empty? = false Is someArr3 is empty? = true