2016-10-12 5 views
0

Ich bin irgendwie verwirrt zwischen den beiden. Ich weiß, dass ein Wörterbuch wie initialisiert wird:Swift: Unterschied zwischen einem 2d-Array und einem Wörterbuch

var Dictionary=[Int:Int] 

und ist wie [1:100,2:150] oder [1:"cat",2:"dog"].

Aber ich bin etwas verwirrt über 2D-Arrays. Ich denke, es wird initialisiert wie:

var Arr=[Int[Int]]() 

und sieht aus wie [[1,4],[5,3]] und es sollte ein x und y koordinieren.

Ich frage mich, ob die beiden austauschbar sind und welche am besten funktionieren würden, wenn man dieses Gitter macht? Und wenn ich Informationen an der Koordinate [2,1]=6 speichern wollte, welche sollte ich verwenden?

[0,1,0,0] 
[0,1,1,0] 
[1,0,0,1] 
+2

** ** Array eine ist ** ** bestellt Sammlung Typwerte zugänglich Index enthält, ** ** Wörterbuch ist ein ** ** ungeordnete Sammlung Typ enthält Schlüssel/Wert-Paare, auf die mit dem Schlüssel zugegriffen werden kann. – vadian

+0

Kurz können Sie sich das Array als _martix_ und das Wörterbuch als _tree_ vorstellen. – holex

Antwort

2

Sie nicht durch die Tatsache verwirrt, dass beide Arrays und Wörterbücher [ ] Symbole für ihre Literale verwenden. Die beiden sind völlig verschieden. Ein Wörterbuch wird verwendet, wenn Sie eine Reihe von Schlüsseln haben und jedem Schlüssel ein Wert zugeordnet ist. Ein 2d-Array ist im Wesentlichen eine Matrix von Werten.

Für Ihre kleine Matrix möchten Sie ein 2d-Array.

var matrix : [[Int]] = Array(repeating: Array(repeating: 0, count: 10), count: 10) 

Dies würde erstellen Sie eine 10x10 Matrix mit Nullen aufgefüllt: Sie können ein 2D-Array wie folgt erstellen und initialisieren. Um einen Wert einstellen können Sie tun:

matrix[x][y] = 6 

solange x ist 0-rows - 1 und y ist 0-columns - 1.

Oder einen Wert wie lesen:

let value = matrix[x][y] 
+0

Könnten Sie ein Beispiel hinzufügen, wie * genau * Wörterbücher funktionieren würden, wie Sie es für die 2d-Arrays getan haben? – LinusGeffarth

+0

@LinusG. Warum? Es gibt unzählige Beispiele für Wörterbücher. Und ein Wörterbuch gilt nicht für die Matrix. – rmaddy

+0

Ich dachte nur, einen direkten Vergleich wäre nett :) – LinusGeffarth

Verwandte Themen