Junior
Was ist der Unterschied zwischen Sammlungen und Arrays?
sobes.tech KI
Antwort von AI
In Swift gibt es keinen separaten "Sammlung"-Typ. Es gibt das Protokoll Collection, dem verschiedene Typen entsprechen, einschließlich Array, Set und Dictionary.
Die wichtigsten Unterschiede zwischen Array und anderen Typen, die das Collection-Protokoll erfüllen:
-
Elementreihenfolge:
Array: Geordnete Sammlung. Elemente werden in einer bestimmten Reihenfolge gespeichert und sind über den Index zugänglich.Set: Ungeordnete Sammlung von eindeutigen Elementen.Dictionary: Ungeordnete Sammlung von Schlüssel-Wert-Paaren.
-
Zugriff nach Index:
Array: Ermöglicht Zugriff auf Elemente über einen ganzzahligen Index.Set: Unterstützt keinen direkten Zugriff nach Index.Dictionary: Der Zugriff auf Werte erfolgt über den Schlüssel.
-
Einzigartigkeit der Elemente:
Array: Kann doppelte Elemente enthalten.Set: Enthält nur eindeutige Elemente.Dictionary: Schlüssel müssen eindeutig sein, Werte können sich wiederholen.
-
Leistung:
- Der Zugriff nach Index in
Arrayist in der Regel schneller (O(1) im Durchschnitt). - Die Suche nach einem Element in
Setoder nach einem Schlüssel inDictionaryist in der Regel schneller (O(1) im Durchschnitt) im Vergleich zur Suche inArray(O(n)).
- Der Zugriff nach Index in
Beispiel für die Verwendung von Array:
// Erstellen eines Arrays von Strings
var names: [String] = ["Alice", "Bob", "Charlie"]
// Zugriff auf ein Element nach Index
let firstPerson = names[0] // "Alice"
// Element hinzufügen
names.append("David") // ["Alice", "Bob", "Charlie", "David"]
Beispiel für die Verwendung von Set:
// Erstellen eines Sets von Ganzzahlen
var uniqueNumbers: Set<Int> = [1, 2, 3, 3, 4] // {1, 2, 3, 4} - Duplikat entfernt
// Überprüfung, ob ein Element enthalten ist
let containsThree = uniqueNumbers.contains(3) // true
Beispiel für die Verwendung von Dictionary:
// Erstellen eines Dictionaries "Name - Alter"
var ages: [String: Int] = ["Alice": 30, "Bob": 25]
// Zugriff auf einen Wert über den Schlüssel
let aliceAge = ages["Alice"] // 30
// Hinzufügen eines neuen Paars
ages["Charlie"] = 35 // ["Alice": 30, "Bob": 25, "Charlie": 35]