Swift: Eine Falle zum Festlegen mehrerer Anfangselemente in einem Array

Es gibt verschiedene Möglichkeiten, mehrere Anfangselemente in einem Array festzulegen.

class Hoge {
    var num: Int
    init(num: Int) {
        self.num = num
    }
}

//Methode 1
var array1: [Hoge] = [
    Hoge(num: 0),
    Hoge(num: 0),
    Hoge(num: 0)
]

//Methode 2
var array2 = [Hoge]()
for _ in (0 ..< 3) {
    array2.append(Hoge(num: 0))
}

//Methode 3
var array3: [Hoge] = (0 ..< 3).map({ _ -> Hoge in
    return Hoge(num: 0)
})

//Methode 4
var array4 = [Hoge](repeating:Hoge(num:0),count:3)

//Es kann andere geben

Wenn man sich hier auf Methode 4 konzentriert, scheint es, dass sie gut initialisiert werden kann, indem das Anfangselement an die Wiederholung übergeben wird und die Anzahl der zu zählenden Elemente, aber es gibt Unterschiede zu den anderen drei Methoden.

//Vergleichen Sie die Elemente mit Methode 1
print(array1[0] === array1[1]) // -> false
print(array1[1] === array1[2]) // -> false
//Das Ergebnis ist Methode 2,Gleiches gilt für 3

//Vergleichen Sie die Elemente mit Methode 4
print(array4[0] === array4[1]) // -> true
print(array4[1] === array4[2]) // -> true

Methode 4 soll auf dasselbe Objekt zeigen. Wenn Sie eine Klasseninstanz an repeating übergeben, packen Sie wiederholt genau dasselbe in das Array.

Recommended Posts

Swift: Eine Falle zum Festlegen mehrerer Anfangselemente in einem Array
Bei der Suche nach mehreren in einem Java-Array
Seien Sie vorsichtig, wenn Sie mehrere Elemente aus einem Array usw. mit einer for-Anweisung löschen
[Swift] So ermitteln Sie die Anzahl der Elemente in einem Array (Super Basic)
Mehrdimensionales Array in Swift
Multiplikation innerhalb eines Ruby-Arrays
Was tun, wenn in einer Lightweight-JRE eine UnsupportedCharsetException auftritt?
So geben Sie den Wert aus, wenn sich ein Array im Array befindet
Verwandeln Sie ein Array von Strings in eine Liste von Ganzzahlen in Java
Machen Sie mit Swift einen FPS-Zähler
Geben Sie in Swift mehrere Sortierbedingungen an
Erhöhen Sie dynamisch die Anzahl der Elemente in einem zweidimensionalen Java-Array (mehrdimensionales Array).
[Swift] Zusammenfassung zum Löschen von Elementen aus einem Array (persönliches Memo)
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
[Java] [Für Anfänger] So fügen Sie Elemente direkt in ein zweidimensionales Array ein
[Hinweis] [Anfänger] Schreiben, wenn der Wert eines Array-Elements in einem sich wiederholenden Satz von Ruby geändert wird