Tableaux Swift

Les tableaux Swift stockent plusieurs valeurs du même type dans une liste ordonnée. La même valeur peut apparaître plusieurs fois à différentes positions dans un tableau.

Les tableaux Swift imposent une vérification de type sur les éléments ; une erreur est signalée si les types diffèrent. Les tableaux Swift doivent suivre une forme comme Array<Element>, où Element est le seul type de données autorisé dans le tableau.

Si vous créez un tableau et l'affectez à une variable, la collection créée est mutable. Cela signifie qu'après avoir créé le tableau, vous pouvez modifier les éléments du tableau en les ajoutant, en les supprimant ou en les modifiant. Si vous affectez un tableau à une constante, le tableau est immuable, et ni la taille ni le contenu du tableau ne peuvent être modifiés.


Création de tableaux

Nous pouvons utiliser la syntaxe d'initialisation pour créer un tableau vide d'un type de données spécifique :

var someArray = [SomeType]()

Voici la syntaxe pour créer un tableau avec une taille initialisée :

var someArray = [SomeType](repeating: InitialValue, count: NumbeOfElements)

L'exemple suivant crée un tableau de type Int, avec un nombre d'éléments de 3 et une valeur initiale de 0 :

var someInts = [Int](repeating: 0, count: 3)

L'exemple suivant crée un tableau contenant trois éléments :

var someInts:[Int] = [10, 20, 30]

Accès aux tableaux

Nous pouvons accéder aux éléments d'un tableau en fonction de l'indice du tableau, avec la syntaxe suivante :

var someVar = someArray[index]

L'indice commence à 0 ; c'est-à-dire que l'indice 0 correspond au premier élément, l'indice 1 correspond au deuxième élément, et ainsi de suite.

À travers l'exemple suivant, nous pouvons apprendre comment créer, initialiser et accéder à des tableaux :

import Cocoa

var someInts = [Int](repeating: 10, count: 3)

var someVar = someInts[0]

print( "第一个元素的值 \(someVar!)" )
print( "第二个元素的值 \(someInts[1]!)" )
print( "第三个元素的值 \(someInts[2]!)" )

La sortie de l'exécution du programme ci-dessus est :

第一个元素的值 10
第二个元素的值 10
第三个元素的值 10

Modification des tableaux

Vous pouvez utiliser la méthode append() ou l'opérateur d'affectation += pour ajouter des éléments à la fin d'un tableau. Comme montré ci-dessous, nous initialisons un tableau et y ajoutons des éléments :

import Cocoa

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

La sortie de l'exécution du programme ci-dessus est :

第一个元素的值 20
第二个元素的值 30
第三个元素的值 40

Nous pouvons également modifier la valeur des éléments du tableau par indice :

import Cocoa

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

// 修改最后一个元素
someInts[2] = 50

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

La sortie de l'exécution du programme ci-dessus est :

第一个元素的值 20
第二个元素的值 30
第三个元素的值 50

Itération sur les tableaux

Nous pouvons utiliser une boucle for-in pour parcourir tous les éléments de données du tableau :

import Cocoa

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs.append("Example")
someStrs += ["Google"]

for item in someStrs {
   print(item)
}

La sortie de l'exécution du programme ci-dessus est :

Apple
Amazon
Example
Google

Si nous avons besoin à la fois de la valeur et de l’index de chaque élément de données, nous pouvons utiliser la méthode enumerated() de String pour parcourir le tableau. Voici un exemple :

import Cocoa

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs.append("Example")
someStrs += ["Google"]

for (index, item) in someStrs.enumerated() {
    print("在 index = \(index) 位置上的值为 \(item)")
}

La sortie de l'exécution du programme ci-dessus est :

在 index = 0 位置上的值为 Apple
在 index = 1 位置上的值为 Amazon
在 index = 2 位置上的值为 Example
在 index = 3 位置上的值为 Google

Combinaison de tableaux

Nous pouvons utiliser l’opérateur d’addition (+) pour combiner deux tableaux existants de même type. Le type de données du nouveau tableau sera déduit à partir des types de données des deux tableaux :

import Cocoa

var intsA = [Int](repeating: 2, count:2)
var intsB = [Int](repeating: 1, count:3)

var intsC = intsA + intsB

for item in intsC {
    print(item)
}

La sortie de l'exécution du programme ci-dessus est :

2
2
1
1
1

Propriété count

Nous pouvons utiliser la propriété count pour calculer le nombre d’éléments dans le tableau :

import Cocoa

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

print("intsA 元素个数为 \(intsA.count)")
print("intsB 元素个数为 \(intsB.count)")
print("intsC 元素个数为 \(intsC.count)")

La sortie de l'exécution du programme ci-dessus est :

intsA 元素个数为 2
intsB 元素个数为 3
intsC 元素个数为 5

Propriété isEmpty

Nous pouvons utiliser la propriété en lecture seule isEmpty pour déterminer si le tableau est vide ; elle renvoie une valeur booléenne :

import Cocoa

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = [Int]()

print("intsA.isEmpty = \(intsA.isEmpty)")
print("intsB.isEmpty = \(intsB.isEmpty)")
print("intsC.isEmpty = \(intsC.isEmpty)")

La sortie de l'exécution du programme ci-dessus est :

intsA.isEmpty = false
intsB.isEmpty = false
intsC.isEmpty = true
Autres extensions