0Pricing
Swift Academy · Lektion

Sammlungen

Sammlungen

Sammlungen ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 1. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 1 Lektionen.

Einführung

Hallo,

In dieser Lektion lernen wir eines der wichtigsten Themen kennen: die Collection-Typen in Swift.

Beginnen wir also.

In Swift gibt es 3 Collection-Typen.

Array → Sequenzielle Collection-Typen.

Set → Ungeordnete und eindeutige Collection-Typen.

Dictionary → Ungeordnete Collection-Typen mit Schlüssel-Wert-Paaren.

Veränderlich – unveränderlich

Ob unsere Collection-Typen unveränderlich oder veränderlich sind, wird durch ihre Definition bestimmt.

Wenn wir sie mit einer let-Anweisung definieren, sind sie unveränderlich; mit var sind sie dagegen veränderlich.

Wenn der definierte Wert später nicht geändert wird, bietet die Verwendung von let dem Compiler einen Performancevorteil, da er eine optimiertere Ausführung ermöglichen kann.

Array

Array

Array ist der Collection-Typ, der zum sequenziellen Speichern von Daten verwendet wird. Seit Swift 3 müssen nicht alle Elemente eines Arrays vom selben Typ sein.

Die Syntax für eine einfache Array-Definition wird in unserem folgenden Beispiel gezeigt.

// Let's create an empty array.
var someInts = [Int]()
print("someInts is of type [Int] with \(someInts.count) items.")
// Prints "someInts is of type [Int] with 0 items."

Array mit Standardwert erstellen

Array mit Standardwert erstellen

Manchmal möchten wir ein Array mit einem Standardwert und einer bestimmten Größe erstellen. Dazu müssen wir dem Array-Konstruktor zwei Argumente übergeben.

Diese Argumente geben an, wie der Standardwert lautet und wie viele Elemente das Array enthalten wird.

var threeDoubles = Array(repeating: 0.0, count: 3)
print(threeDoubles)
// threeDoubles is of type [Double], and equals [0.0, 0.0, 0.0]

var anotherThreeDoubles = Array(repeating: 2.5, count: 3)
// anotherThreeDoubles is of type [Double], and equals [2.5, 2.5, 2.5]
print(anotherThreeDoubles)

var sixDoubles = threeDoubles + anotherThreeDoubles
print(sixDoubles)
// sixDoubles is inferred as [Double], and equals [0.0, 0.0, 0.0, 2.5, 2.5, 2.5]

Ein Array mit einem Array-Literal erstellen

Ein Array mit einem Array-Literal erstellen

Im vorherigen Beispiel haben wir gelernt, wie man ein leeres Array erstellt. In manchen Fällen möchten wir jedoch ein Array mit einem Array-Literal erstellen.

Lernen wir seine Verwendung anhand des Beispiels kennen.

/*
We have defined a variable named catList, 
and with the [String] statement we specified 
that its type is an Array containing String elements.
*/
var catList: [String] = ["Garfield", "Tom"]
print(catList)
/*
It will understand that the array is an Array containing
String statements, since we assign a value that 
defines the variable. (Swift type inference)
*/
var shoppingList = ["Eggs", "Milk"]
print(shoppingList)

Auf den Wert eines Arrays zugreifen

Auf den Wert eines Arrays zugreifen

Wenn wir auf das Element an einem bestimmten Index in einer Sequenz zugreifen möchten, genügt es, es mit der folgenden Syntax aufzurufen.

myArray [index]

Sehen wir uns das Beispiel an.

// We have defined an array with 3 elements of type Int.
var numbers:[Int] = [1, 5, 21]

// Arrays start from Index 0. For example, in order to reach the value 5, which is the 2nd element, we need to access the 1st index.
var a = numbers[1]
print( "Value of numbers at index 1 is \(a)" )

Neue Elemente zu einem Array hinzufügen

Neue Elemente zu einem Array hinzufügen

Wir können einem Array ein neues Element hinzufügen. 

Im folgenden Beispiel wird ein Array namens catList definiert. Im nächsten Schritt wurde diesem Array mithilfe der append-Methode ein neues Element hinzugefügt. 

// The Array named catList was defined with 1 initial element.
var catList = ["Tom"]


/*
We are adding a new item with a Garfield 
value using the append method.
*/
catList.append("Garfield")
// Our array will now have 2 elements.


/*
With the + = operator, we can do the 
work that the append method does.
*/
catList += ["Sylvester"]

Daten an einem bestimmten Index in ein Array einfügen

Daten an einem bestimmten Index in ein Array einfügen

Der Wert, den ich in unserem vorherigen Beispiel mit der append-Methode hinzugefügt habe, wird am Ende des Arrays eingefügt. Manchmal möchten wir ihn jedoch an einem bestimmten Index einfügen. Dafür verwenden wir die insert-Methode.

Die Syntax sieht so aus.

myArr.insert ("The data to add", at: index);

Finden wir es anhand eines Beispiels heraus.

var catList = ["Tom"]

catList.insert("Garfield", at: 1)

print(catList)

Bestimmtes Element aus einem Array löschen

Bestimmtes Element aus einem Array löschen

Mit der remove-Methode wird ein Element an einem bestimmten Index in einem Array gelöscht.

var shoppingList = ["Apple", "Cherry", "Cheese"]

let shoppingListOne = shoppingList.remove(at: 0)
// the item that was at index 0 has just been removed
// the mapleSyrup constant is now equal to the removed "Maple Syrup" string

let shoppingListTwo = shoppingList.removeLast()
// the last item in the array has just been removed

print(shoppingListTwo)

Array durchlaufen

Wir können ein vorhandenes Array mit der for-in-Schleife durchlaufen.

Sehen wir uns das Beispiel an.

var shoppingList = ["Banana", "Orange", "Milk"]

for item in shoppingList {
    print(item)
}
// Six eggs
// Milk
// Flour
// Baking Powder
// Bananas

for (index, value) in shoppingList.enumerated() {
    print("Item \(index + 1): \(value)")
}
// Item 1: Six eggs
// Item 2: Milk
// Item 3: Flour
// Item 4: Baking Powder
// Item 5: Bananas

Mengen

Mengen

Sie werden verwendet, um Sammlungen desselben Typs ohne feste Reihenfolge zusammenzuhalten.

Wie der Name bereits sagt, handelt es sich um Mengen. In einer Menge kann es nicht zwei Elemente mit demselben Wert geben.

Leere Menge erstellen

Mit dem folgenden Beispiel erstellen wir eine leere Menge.

var catSet = Set<Character>()

Mengen mit einem Array-Literal erstellen

Mengen mit einem Array-Literal erstellen

Mit einem Array-Literal kann eine Menge erstellt werden. Beachten Sie, dass der hier zugewiesene Wert zwar wie ein Array aussieht, der Typ der Variablen jedoch Set <String> ist.

var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]

Warnung

Mit einem Array-Literal ist es nicht möglich, eine Menge zu erstellen, ohne einen Typ zu definieren. Das kann zu Konflikten mit Array führen. Daher müssen wir den Typ definieren. 

Mindestens sollten wir es wie folgt verwenden.

var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]

Set-Methoden

Set-Methoden

Sehen wir uns das Beispiel an.

var favoriteGenres = ["Funk"]

print("I have \(favoriteGenres.count) favorite music genres.")

if favoriteGenres.isEmpty {
    print("favoriteGenres is empty")
} else {
    print("I have particular music preferences.")
}

if favoriteGenres.contains("Funk") {
    print("Funk")
} 

Menge durchlaufen

Menge durchlaufen

Der Swift-Typ Set hat keine feste Reihenfolge. Beim Durchlaufen eines Set-Werts kann jedoch die Methode sorted verwendet werden. Diese Methode ordnet die Elemente der Menge wie ein Array an.

let favoriteGenres = ["Classical","Jazz", "Hip hop"]

for genre in favoriteGenres {
    print("\(genre)")
}
// Classical
// Jazz
// Hip hop

Dictionary

Dictionary

Dictionarys sind Sammlungstypen, die Werte als Schlüssel-Wert-Paare speichern und keine feste Reihenfolge haben.

Jeder Wert wird unter einem eindeutigen Schlüssel gespeichert. Dieser stellt die ID dieses Werts im Dictionary dar. Dictionarys enthalten keine Reihenfolge wie Arrays. Wir können sie uns wie ein Wörterbuch aus der realen Welt vorstellen.

Daher ist die Identität jedes Werts wichtiger als seine Position.

Der Dictionary-Typ kann mit der Kurzform [Key: Value] definiert werden. Die Kurzschreibweise wird häufiger verwendet.

var namesOfIntegers = [Int: String]()
// namesOfIntegers is an empty [Int: String] dictionary

namesOfIntegers[16] = "sixteen"
// namesOfIntegers now contains 1 key-value pair
namesOfIntegers = [:]
// namesOfIntegers is once again an empty dictionary of type [Int: String]

Zugriffsmethoden für Dictionary

Mit der Methode count können wir herausfinden, wie viele Elemente ein Dictionary enthält.

Außerdem können wir mit der Methode isEmpty prüfen, ob das Dictionary leer ist.

Sehen wir uns einige Beispiele für diese Methoden an.

var airports = ["LHR": "London", "IST": "Istanbul"]

print("The airports dictionary contains \(airports.count) items.")
// Prints "The airports dictionary contains 2 items."

if airports.isEmpty {
    print("The airports dictionary is empty.")
} else {
    print("The airports dictionary is not empty.")
}
// Prints "The airports dictionary is not empty."

airports["LHR"] = "London"
// the airports dictionary now contains 3 items

Subscript

Der Zugriff über einen Subscript erfolgt wie folgt. Das Ergebnis ist optional.

var airports = ["DUB":"Dublin"]

if let airportName = airports["DUB"] {
    print("The name of the airport is \(airportName).")
} else {
    print("That airport is not in the airports dictionary.")
}
// Prints "The name of the airport is Dublin Airport."



//Deletion
airports["APL"] = nil

if let removedValue = airports.removeValue(forKey: "DUB") {
    print("The removed airport's name is \(removedValue).")
} else {
    print("The airports dictionary does not contain a value for DUB.")
}
// Prints "The removed airport's name is Dublin Airport."

Dictionary aktualisieren

Neben der Verwendung des oben genannten Subscripts gibt es eine Methode zum Aktualisieren des Dictionarys.

Diese Methode gibt nach der Aktualisierung den alten Wert zurück, der vor der Aktualisierung vorhanden war.

var airports = ["DUB": "Dublin"]

if let oldValue = airports.updateValue("Dublin Airport", forKey: "DUB") {
    print("The old value for DUB was \(oldValue).")
}
// Prints "The old value for DUB was Dublin."

Beispiel: Dictionary in Array umwandeln

Das folgende Beispiel zeigt, wie ein Dictionary in ein Array umgewandelt wird.


let airports = ["IST":"Istanbul Airport", "DUB":"Dublin Airport"]

let airportCodes = [String](airports.keys)
print(airportCodes)

let airportNames = [String](airports.values)
print(airportNames)

Herzlichen Glückwunsch

Herzlichen Glückwunsch 🎉

In dieser Lektion haben Sie gelernt, wie Sie Collections in Swift verwenden.

Bis zur nächsten Lektion.

Sammlungen — Illustration 22

Häufig gestellte Fragen

Ist die Lektion „Sammlungen“ kostenlos?

Ja — der vollständige Text von „Sammlungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 1 Lektionen.

Was lerne ich in „Sammlungen“?

Sammlungen Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 1.

Wie lange dauert die Lektion „Sammlungen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

← Zurück zu Swift Academy