Рассмотрим коротко массив:
- Массив - это упорядоченный список значений (величин, элементов);
- Каждая величина в массиве позиционируется целым числом или индексом. Первая величина в списке имеет индекс 0;
Проиллюстрируем это куском из Playground:
var str = "Hello, playground"var myArray1: Array<String> = ["myString1","myString2"]var myArray2: [String] = ["myString3", "myString4"]let myArray3: [String] = ["myString5", "myString6"]let myArray4 = ["myString7","myString8"]var myArray5 = [String]()var myArray6 = Array<String>()var myArray7: Array<AnyObject>
Перечислим типичные действия, что мы можем применить к массивам:
- С помощью свойства count определяется число элементов в массиве;
- Получение значения элемента массива с помощью индекса;
- Добавление нового элемента к массиву с помощью функции append(_) или оператора +=;
- Удаление выбранного элемента с помощью функции remove(at:);
- Добавление нового элемента в массив в указанную позицию помощью функции insert(_,at:);
- Изменение значения выбранного элемента с помощью оператора =;
- Просмотр содержимого массива с помощью цикла for-in;
Проиллюстрируем это куском из Playground:
print("number elements in the array: \(myArray1.count)")print("\(myArray1[1])")myArray1.append("myString9")myArray1+=["myString10"]myArray1.remove(at: 0)myArray1.insert("myString11", at: 1)myArray1[0]="myString12"for i in myArray1{print("\(i)")}
Аналогично рассмотрим словарь:
- Словарь - это неупорядоченный список абстрактных пар ключ-значение (ключ-величина, ключ-элемент);
- Как в массиве элемент определяется по индексом, величиной целого типа, так и в словаре элемент определяется ключом, величиной любого типа. Я думаю, что можно говорить об массиве как частном случае словаря;
- На практике в большинстве случаев тип ключа - это String;
Проиллюстрируем это куском из Playground:
var myDictionary1: Dictionary<String, String> = [:]var myDictionary2: Dictionary<String, String> = ["myKey1":"myValue1","myKey2":"myValue2"]var myDictionary3: [String: String] = ["myKey3":"myValue3","myKey4":"myValue4"]var myDictionary4 = [String:String]()var myDictionary5 = Dictionary<String, String>()
Перечислим типичные действия, что мы можем применить к словарям:
- С помощью свойства count определяется число пар в словаре;
- Получение значения элемента с помощью ключа;
- Изменение значения элемента с данным ключом с помощью функции updateValue(_,forKey:) или оператора =;
- Добавление новой пары ключ-значение;
- Удаление пары пары ключ-значение с помощью функции removeValue(forKey:) либо присваиванием удаляемому элементу значения nil;
- Просмотр содержимого словаря с помощью цикла for-in;
Проиллюстрируем это куском из Playground:
print("number elements in the dictionary:\(myDictionary2.count)")print("\(myDictionary2["myKey2"]!)")myDictionary2.updateValue("newMyValue2", forKey: "myKey2")print("\(myDictionary2["myKey2"]!)")myDictionary2["myKey2"] = "new2MyValue2"print("\(myDictionary2["myKey2"]!)")myDictionary2["myKey5"] = "myValue5"myDictionary2.removeValue(forKey: "myKey1")let arrayOfMyKeys = [String] (myDictionary2.keys)let arrayOfMyValues = [String] (myDictionary2.values)for i in arrayOfMyKeys{print("\(myDictionary2[i]!)")}