Dans ce didacticiel, vous découvrirez les tableaux, leur création, l'accès aux valeurs d'un tableau et certaines opérations courantes dans un tableau.
Dans l'article précédent sur les types de données Swift, nous avons appris à créer des variables / constantes de certains types de données pouvant contenir une seule valeur.
Mais que se passe-t-il si nous voulons stocker plusieurs valeurs du même type de données. Nous utilisons quelque chose appelé Array dans Swift.
Qu'est-ce qu'un tableau?
Un tableau est simplement un conteneur qui peut contenir plusieurs données (valeurs) d'un type de données dans une liste ordonnée, c'est-à-dire que vous obtenez les éléments dans le même ordre que vous avez défini les éléments du tableau.
Un tableau peut stocker des valeurs de n'importe quel type de données Int
, par exemple String
, classe, etc.
Comment déclarer un tableau dans Swift?
Vous pouvez créer un tableau vide en spécifiant le type de données entre crochets ()
.
N'oubliez pas que vous devez inclure le type entre crochets, sinon Swift le traitera comme un type de données normal et vous ne pourrez y stocker qu'une seule valeur.
Exemple 1: déclarer un tableau vide
let emptyIntArr:(Int) = () print(emptyIntArr)
Lorsque vous exécutez le programme, la sortie sera:
()
Dans le programme ci-dessus, nous avons déclaré une constante emptyIntArr qui peut stocker un tableau d'entiers et initialisé avec 0 valeurs.
OU
Vous pouvez également définir un tableau vide comme ci-dessous:
let emptyIntArr:Array = Array() print(emptyIntArr)
OU
Étant donné que swift est un langage d'inférence de type, vous pouvez également créer un tableau directement sans spécifier le type de données, mais vous devez initialiser avec certaines valeurs pour que le compilateur puisse déduire son type comme:
Exemple 2: déclarer un tableau avec certaines valeurs
let someIntArr = (1, 2, 3, 4, 5, 6, 7, 8, 9) print(someIntArr)
Lorsque vous exécutez le programme, la sortie sera:
(1, 2, 3, 4, 5, 6, 7, 8, 9)
Dans le programme ci-dessus, nous avons déclaré une constante someIntArr qui peut stocker un tableau d'Integer sans spécifier explicitement le type. En outre, nous avons initialisé le tableau avec 1, 2, 3, 4, 5, 6, 7, 8, 9 valeurs.
Exemple 3: déclaration d'un tableau contenant le nombre spécifié d'une seule valeur répétée
Vous pouvez également répéter une valeur un certain nombre de fois pour former un tableau dans Swift. Cela se fait en utilisant l'initialiseur de tableau avec répétition et comptage.
let arrWithRepeatingValues = Array(repeating: "Hello, World", count: 4) print(arrWithRepeatingValues)
Lorsque vous exécutez le programme, la sortie sera:
("Hello, World", "Hello, World", "Hello, World", "Hello, World")
Dans le programme ci-dessus, nous avons défini une constante arrWithRepeatingValues qui stocke un tableau de chaîne Hello, World et répète la même valeur 4 fois comme spécifié dans le décompte.
Remarque: dans Swift, vous ne pouvez pas créer de tableau de taille fixe comme vous le faites dans d'autres langages de programmation. Un tableau de taille de longueur fixe signifie que le tableau ne peut pas avoir plus d'éléments que vous n'en avez défini lors de l'initialisation.
Comment les valeurs sont-elles stockées dans le tableau?
Supposons que vous ayez une constante qui peut stocker un tableau de chaînes comme ci-dessous:
soit intArr = (21, 34, 54, 12)
La représentation graphique de la façon dont les valeurs sont stockées dans un tableau peut être affichée ci-dessous:
Tous les tableaux que vous créez commencent par l'index 0. Le premier élément est stocké dans l'index 0, le deuxième élément dans l'index suivant (1) et ainsi de suite.
Comment accéder aux éléments du tableau dans Swift?
Vous pouvez accéder aux éléments d'un tableau en utilisant la syntaxe d'indice, c'est-à-dire que vous devez inclure l'index de la valeur à laquelle vous souhaitez accéder entre crochets immédiatement après le nom du tableau.
Supposons que vous ayez déclaré un tableau intArr comme ci-dessus. Le premier élément est intArr (0), le second élément est intArr (1) et ainsi de suite.
Exemple 4: Accéder aux éléments d'un tableau
let intArr = (21, 34, 54, 12) print(intArr(0)) print(intArr(1)) print(intArr(2)) print(intArr(3))
Lorsque vous exécutez le programme, la sortie sera:
21 34 54 12
Vous pouvez également accéder aux éléments d'un tableau à l'aide de boucles d'entrée. Voir Boucle For-in Swift pour en savoir plus.
Comment modifier / ajouter des éléments de tableau dans Swift?
Vous pouvez modifier les éléments d'un tableau en utilisant la syntaxe d'indice et l'opérateur d'affectation, c'est-à-dire que vous devez inclure l'index de la valeur que vous souhaitez mettre à jour entre crochets après le nom du tableau suivi de l'opérateur d'affectation et de la nouvelle valeur.
Exemple 5: Modification des éléments d'un tableau
var intArr = (21, 34, 54, 12) intArr(0) = 12 intArr(1) = 42 intArr(2) = 45 intArr(3) = 21 print(intArr)
Lorsque vous exécutez le programme, la sortie sera:
(12, 42, 45, 21)
Vous pouvez également modifier tous les éléments du tableau avec de nouvelles valeurs comme ci-dessous:
Exemple 6: Modification d'un tableau dans son ensemble
var intArr = (21, 34, 54, 12) intArr = (1,2,3) print(intArr)
Lorsque vous exécutez le programme, la sortie sera:
(1, 2, 3)
Cependant, pour ajouter un nouvel élément à un tableau existant, vous ne pouvez pas utiliser la syntaxe d'indice. Si vous le faites, vous vous retrouverez avec une erreur. Vous ne pouvez pas faire quelque chose comme ça:
Exemple 7: Ajout d'un nouvel élément dans un tableau à l'aide de la syntaxe d'indice (ne fonctionne pas)
var intArr = (21, 34, 54, 12) intArr(4) = 10
Lorsque vous exécutez le programme, la sortie sera:
erreur fatale: index hors limites
Le programme ci-dessus donne une erreur lors de l'affectation d'un nouvel élément à un tableau intArr. Cela est dû au fait que intArr n'a pas alloué de mémoire supplémentaire pour l'index 4 et ne peut pas stocker la valeur donnée.
Pour insérer correctement un nouvel élément dans un tableau, nous utilisons la append()
méthode du tableau . append()
est décrit dans la section ci-dessous.
Quelques fonctions et propriétés de tableau intégrées utiles
1. isEmpty
Cette propriété détermine si un tableau est vide ou non. Il renvoie true
si un tableau ne contient aucune valeur sinon retourne false
.
Exemple 8: Comment fonctionne isEmpty?
let intArr = (21, 34, 54, 12) print(intArr.isEmpty)
Lorsque vous exécutez le programme, la sortie sera:
faux
2. premier
Cette propriété est utilisée pour accéder au premier élément d'un tableau.
Exemple 9: Comment fonctionne d'abord?
let intArr = (21, 34, 54, 12) print(intArr.first)
Lorsque vous exécutez le programme, la sortie sera:
En option (21)
De même, vous pouvez utiliser la last
propriété pour accéder au dernier élément d'un tableau.
3. ajouter
La fonction append est utilisée pour insérer / ajouter un élément à la fin du tableau.
Exemple 10: Comment fonctionne l'ajout?
var intArr = (21, 34, 54, 12) intArr.append(32) print(intArr)
Lorsque vous exécutez le programme, la sortie sera:
(21, 34, 54, 12, 32)
Vous pouvez également ajouter le contenu d'un tableau à un autre tableau comme:
var firstArr = (1,2,3,4) var secondArr = (5,6,7,8) firstArr.append(contentsOf: secondArr) print(firstArr)
Lorsque vous exécutez le programme, la sortie sera:
(1, 2, 3, 4, 5, 6, 7, 8)
4. insérer
Cette fonction est utilisée pour insérer / ajouter un élément à un index spécifique du tableau.
Exemple 11: Comment fonctionne l'insert?
var intArr = (21,34,54,12) intArr.insert(22, at: 1) print(intArr)
Lorsque vous exécutez le programme, la sortie sera:
(21, 22, 34, 54, 12)
De même, vous pouvez également utiliser la remove
propriété pour supprimer l'élément à l'index spécifié.
5. supprimer
Cette fonction supprime et renvoie la valeur spécifiée à la position spécifiée du tableau.
Exemple 12: Comment fonctionne la suppression?
var strArr = ("ab","bc","cd","de") let removedVal = strArr.remove(at: 1) print("removed value is (removedVal)") print(strArr)
Lorsque vous exécutez le programme, la sortie sera:
la valeur supprimée est bc ("ab", "cd", "de")
De même, vous pouvez également utiliser des fonctions telles que removeFirst
supprimer le premier élément d'un tableau, removeLast
supprimer le dernier élément d'un tableau et removeAll
vider un tableau.
6. inversé
Cette fonction renvoie les éléments du tableau dans l'ordre inverse.
Exemple 13: Comment fonctionne la fonction reverse ()?
var intArr = (21,22,23,24) let reversedArr = Array(intArr.reversed()) print(reversedArr)
Lorsque vous exécutez le programme, la sortie sera:
(24, 23, 22, 21)
7. compter
Cette propriété renvoie le nombre total d'éléments dans un tableau.
Exemple 14: compter
let floatArr = (10.2,21.3,32.0,41.3) print(floatArr.count)
Lorsque vous exécutez le programme, la sortie sera:
4
Choses dont il faut se rappeler
Lorsque vous utilisez la syntaxe d'indice pour accéder aux éléments d'un tableau dans Swift, vous devez vous assurer que la valeur se trouve dans l'index, sinon vous obtiendrez un plantage d'exécution. Voyons ceci dans l'exemple:
let intArr = (21, 34, 54, 12) print(intArr(-1))
Lorsque vous exécutez le programme, la sortie sera:
erreur fatale: index hors limites
Dans le programme ci-dessus, il n'y a aucune valeur dans l'index -1 . Ainsi, lorsque vous essayez d'accéder à la valeur de l'index, vous obtenez un crash d'exécution.
Pour éviter cela, recherchez d'abord l'index de l'élément que vous essayez de supprimer. Et puis supprimez l'élément à l'index comme ci-dessous:
var intArr = (21, 34, 54, 12) if let index = intArr.index(of: 34) ( print("found index") let val = intArr.remove(at: index) print(val) )
Lorsque vous exécutez le programme, la sortie sera:
index trouvé 34