Swift Arrays: comment l'utiliser et pourquoi? (Avec des exemples)

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 truesi 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 lastproprié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 removeproprié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 removeFirstsupprimer le premier élément d'un tableau, removeLastsupprimer le dernier élément d'un tableau et removeAllvider 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 

Articles intéressants...