Swift Language Nozioni di base sugli array


Esempio

Array è un tipo di raccolta ordinato nella libreria standard Swift. Fornisce O (1) accesso casuale e riallocazione dinamica. La matrice è un tipo generico , quindi il tipo di valori che contiene sono noti al momento della compilazione.

Come Array è un tipo di valore , la sua mutabilità è definita dal fatto che sia annotata come var (mutabile) o let (immutabile).

Il tipo [Int] (che significa: un array contenente Int s) è zucchero sintattico per Array<T> .

Ulteriori informazioni sugli array in Swift Programming Language .

Matrici vuote

Le seguenti tre dichiarazioni sono equivalenti:

// A mutable array of Strings, initially empty.

var arrayOfStrings: [String] = []      // type annotation + array literal
var arrayOfStrings = [String]()        // invoking the [String] initializer
var arrayOfStrings = Array<String>()   // without syntactic sugar

Letterali di matrice

Un array letterale è scritto con parentesi quadre che circondano gli elementi separati da virgole:

// Create an immutable array of type [Int] containing 2, 4, and 7
let arrayOfInts = [2, 4, 7]

Il compilatore può solitamente dedurre il tipo di un array in base agli elementi nel letterale, ma le annotazioni di tipo esplicito possono ignorare il valore predefinito:

let arrayOfUInt8s: [UInt8] = [2, 4, 7]   // type annotation on the variable
let arrayOfUInt8s = [2, 4, 7] as [UInt8] // type annotation on the initializer expression
let arrayOfUInt8s = [2 as UInt8, 4, 7]   // explicit for one element, inferred for the others

Matrici con valori ripetuti

// An immutable array of type [String], containing ["Example", "Example", "Example"]
let arrayOfStrings = Array(repeating: "Example",count: 3)

Creare matrici da altre sequenze

let dictionary = ["foo" : 4, "bar" : 6]

// An immutable array of type [(String, Int)], containing [("bar", 6), ("foo", 4)]
let arrayOfKeyValuePairs = Array(dictionary)

Matrici multidimensionali

In Swift, una matrice multidimensionale viene creata nidificando gli array: una matrice bidimensionale di Int è [[Int]] (o Array<Array<Int>> ).

let array2x3 = [
    [1, 2, 3],
    [4, 5, 6]
]
// array2x3[0][1] is 2, and array2x3[1][2] is 6.

Per creare una matrice multidimensionale di valori ripetuti, utilizzare le chiamate nidificate dell'inizializzatore dell'array:

var array3x4x5 = Array(repeating: Array(repeating: Array(repeating: 0,count: 5),count: 4),count: 3)