In diesem Lernprogramm erfahren Sie mehr über Arrays, deren Erstellung, den Zugriff auf Werte eines Arrays und einige allgemeine Vorgänge im Array.
Im vorherigen Artikel zu Swift-Datentypen haben wir gelernt, wie Variablen / Konstanten eines Datentyps erstellt werden, die einen einzelnen Wert enthalten können.
Was aber, wenn wir mehrere Werte desselben Datentyps speichern möchten? In Swift verwenden wir Array .
Was ist ein Array?
Ein Array ist einfach ein Container, der mehrere Daten (Werte) eines Datentyps in einer geordneten Liste enthalten kann, dh Sie erhalten die Elemente in derselben Reihenfolge, in der Sie die Elemente im Array definiert haben.
Ein Array kann Werte von beliebigem Datentyp zB speichern Int
, String
Klasse usw.
Wie deklariere ich ein Array in Swift?
Sie können ein leeres Array erstellen, indem Sie den Datentyp in eckigen Klammern angeben ()
.
Denken Sie daran, dass Sie den Typ in eckige Klammern setzen müssen, sonst behandelt Swift ihn als normalen Datentyp und Sie können nur einen einzigen Wert darin speichern.
Beispiel 1: Deklarieren eines leeren Arrays
let emptyIntArr:(Int) = () print(emptyIntArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
()
Im obigen Programm haben wir eine Konstante emptyIntArr deklariert, die ein Array von Ganzzahlen speichern und mit 0-Werten initialisiert werden kann.
ODER
Sie können ein leeres Array auch wie folgt definieren:
let emptyIntArr:Array = Array() print(emptyIntArr)
ODER
Da Swift eine Typinferenzsprache ist, können Sie ein Array auch direkt ohne Angabe des Datentyps erstellen, müssen jedoch mit einigen Werten initialisieren, damit der Compiler auf den Typ folgern kann:
Beispiel 2: Deklarieren eines Arrays mit einigen Werten
let someIntArr = (1, 2, 3, 4, 5, 6, 7, 8, 9) print(someIntArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
(1, 2, 3, 4, 5, 6, 7, 8, 9)
Im obigen Programm haben wir eine Konstante someIntArr deklariert, die ein Array von Integer speichern kann, ohne den Typ explizit anzugeben. Außerdem haben wir das Array mit 1, 2, 3, 4, 5, 6, 7, 8, 9 Werten initialisiert .
Beispiel 3: Deklarieren eines Arrays, das die angegebene Nummer eines einzelnen wiederholten Werts enthält
Sie können einen Wert auch mehrmals wiederholen, um in Swift ein Array zu bilden. Dies erfolgt mithilfe des Array-Initialisierers mit Wiederholung und Zählung.
let arrWithRepeatingValues = Array(repeating: "Hello, World", count: 4) print(arrWithRepeatingValues)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
("Hallo Welt", "Hallo Welt", "Hallo Welt", "Hallo Welt")
Im obigen Programm haben wir eine Konstante arrWithRepeatingValues definiert, die ein Array von Zeichenfolgen Hello, World speichert und denselben Wert viermal wiederholt, wie in der Anzahl angegeben.
Hinweis: In Swift können Sie kein Array mit fester Länge erstellen, wie dies in anderen Programmiersprachen der Fall ist. Array mit fester Länge bedeutet, dass das Array nicht mehr Elemente enthalten kann, als Sie während der Initialisierung definiert haben.
Wie werden Werte im Array gespeichert?
Angenommen, Sie haben eine Konstante, die ein Array von Zeichenfolgen wie folgt speichern kann:
sei intArr = (21, 34, 54, 12)
Die bildliche Darstellung, wie Werte im Array gespeichert werden, kann unten gezeigt werden:
Alle von Ihnen erstellten Arrays beginnen mit dem Index 0. Das erste Element wird im Index 0 gespeichert, das zweite Element im nächsten Index (1) usw.
Wie greife ich in Swift auf Array-Elemente zu?
Sie können mithilfe der tiefgestellten Syntax auf Elemente eines Arrays zugreifen. Das heißt, Sie müssen den Index des Werts, auf den Sie zugreifen möchten, unmittelbar nach dem Namen des Arrays in eckige Klammern setzen.
Angenommen, Sie haben ein Array intArr wie oben deklariert. Das erste Element ist intArr (0), das zweite Element ist intArr (1) und so weiter.
Beispiel 4: Zugriff auf Elemente eines Arrays
let intArr = (21, 34, 54, 12) print(intArr(0)) print(intArr(1)) print(intArr(2)) print(intArr(3))
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
21 34 54 12
Sie können auch mithilfe von For-In-Schleifen auf Elemente eines Arrays zugreifen. Weitere Informationen finden Sie unter Swift For-in-Schleife.
Wie ändere / füge ich Array-Elemente in Swift hinzu?
Sie können Elemente eines Arrays mithilfe der tiefgestellten Syntax und des Zuweisungsoperators ändern. Das heißt, Sie müssen den Index des zu aktualisierenden Werts in eckige Klammern nach dem Namen des Arrays gefolgt vom Zuweisungsoperator und dem neuen Wert einfügen.
Beispiel 5: Ändern von Elementen eines Arrays
var intArr = (21, 34, 54, 12) intArr(0) = 12 intArr(1) = 42 intArr(2) = 45 intArr(3) = 21 print(intArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
(12, 42, 45, 21)
Sie können auch alle Elemente des Arrays mit neuen Werten wie folgt ändern:
Beispiel 6: Ändern eines Arrays als Ganzes
var intArr = (21, 34, 54, 12) intArr = (1,2,3) print(intArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
(1, 2, 3)
Um jedoch einem vorhandenen Array ein neues Element hinzuzufügen, können Sie die tiefgestellte Syntax nicht verwenden. Wenn Sie dies tun, erhalten Sie einen Fehler. Sie können so etwas nicht tun:
Beispiel 7: Hinzufügen eines neuen Elements zu einem Array mithilfe der tiefgestellten Syntax (funktioniert nicht)
var intArr = (21, 34, 54, 12) intArr(4) = 10
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Schwerwiegender Fehler: Index außerhalb des Bereichs
Das obige Programm gibt einen Fehler aus, wenn einem Array intArr ein neues Element zugewiesen wird. Dies liegt daran, dass intArr dem Index 4 keinen zusätzlichen Speicher zugewiesen hat und den angegebenen Wert nicht speichern kann.
Um ein neues Element korrekt in ein Array einzufügen, verwenden wir die Array- append()
Methode. append()
wird im folgenden Abschnitt beschrieben.
Einige hilfreiche integrierte Array-Funktionen und -Eigenschaften
1. ist leer
Diese Eigenschaft bestimmt, ob ein Array leer ist oder nicht. Es wird zurückgegeben, true
wenn ein Array keinen Wert enthält, andernfalls wird zurückgegeben false
.
Beispiel 8: Wie funktioniert isEmpty?
let intArr = (21, 34, 54, 12) print(intArr.isEmpty)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
falsch
2. zuerst
Diese Eigenschaft wird verwendet, um auf das erste Element eines Arrays zuzugreifen.
Beispiel 9: Wie funktioniert es zuerst?
let intArr = (21, 34, 54, 12) print(intArr.first)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Optional (21)
Ebenso können Sie mit der last
Eigenschaft auf das letzte Element eines Arrays zugreifen.
3. anhängen
Die Append-Funktion wird verwendet, um ein Element am Ende des Arrays einzufügen / anzufügen.
Beispiel 10: Wie funktioniert das Anhängen?
var intArr = (21, 34, 54, 12) intArr.append(32) print(intArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
(21, 34, 54, 12, 32)
Sie können den Inhalt eines Arrays auch wie folgt an ein anderes Array anhängen:
var firstArr = (1,2,3,4) var secondArr = (5,6,7,8) firstArr.append(contentsOf: secondArr) print(firstArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
(1, 2, 3, 4, 5, 6, 7, 8)
4. einfügen
Diese Funktion wird verwendet, um Elemente an einem bestimmten Index des Arrays einzufügen / anzuhängen.
Beispiel 11: Wie funktioniert das Einfügen?
var intArr = (21,34,54,12) intArr.insert(22, at: 1) print(intArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
(21, 22, 34, 54, 12)
In ähnlicher Weise können Sie auch die remove
Eigenschaft verwenden, um Elemente am angegebenen Index zu entfernen.
5. entfernen
Diese Funktion entfernt und gibt den an der angegebenen Position angegebenen Wert aus dem Array zurück.
Beispiel 12: Wie funktioniert das Entfernen?
var strArr = ("ab","bc","cd","de") let removedVal = strArr.remove(at: 1) print("removed value is (removedVal)") print(strArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
entfernter Wert ist bc ("ab", "cd", "de")
In ähnlicher Weise können Sie auch Funktionen wie removeFirst
das Entfernen des ersten Elements eines Arrays, removeLast
das Entfernen des letzten Elements eines Arrays und removeAll
das Leeren eines Arrays verwenden.
6. umgekehrt
Diese Funktion gibt die Elemente des Arrays in umgekehrter Reihenfolge zurück.
Beispiel 13: Wie funktioniert reverse ()?
var intArr = (21,22,23,24) let reversedArr = Array(intArr.reversed()) print(reversedArr)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
(24, 23, 22, 21)
7. zählen
Diese Eigenschaft gibt die Gesamtzahl der Elemente in einem Array zurück.
Beispiel 14: Anzahl
let floatArr = (10.2,21.3,32.0,41.3) print(floatArr.count)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
4
Dinge, an die man sich erinnern sollte
Wenn Sie die Indexsyntax für den Zugriff auf Elemente eines Arrays in Swift verwenden, müssen Sie sicherstellen, dass der Wert im Index liegt, da sonst ein Laufzeitabsturz auftritt. Sehen wir uns das im Beispiel an:
let intArr = (21, 34, 54, 12) print(intArr(-1))
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Schwerwiegender Fehler: Index außerhalb des Bereichs
Im obigen Programm gibt es keinen Wert im Index -1 . Wenn Sie also versuchen, auf den Wert im Index zuzugreifen, kommt es zu einem Laufzeitabsturz.
Um dies zu verhindern, suchen Sie zuerst den Index des Elements, das Sie entfernen möchten. Und dann entfernen Sie das Element am Index wie folgt:
var intArr = (21, 34, 54, 12) if let index = intArr.index(of: 34) ( print("found index") let val = intArr.remove(at: index) print(val) )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
gefundener Index 34