Ein 2-dimensionales Array hat keine intrinsische Vorstellung von "x" und "y", oder "Breite" und "Höhe". Ein 2-dimensionales Array hat nicht wirklich die Vorstellung, 2-dimensional zu sein: es ist ein 1-dimensionales Array von "Dingen", wobei jedes dieser Dinge ein 1-dimensionales Array ist.
So ein char[][]
ist ein 1-dimensionales Feld, wo jedes Element eine char[]
; und jeder char[]
ist ein 1-dimensionales Array, wobei jedes Element ein char
ist. Beachten Sie, dass die enthaltenen Arrays nicht einmal die gleiche Länge haben müssen.
Als solche können Sie nicht fragen "Ist board.length die Länge der X-Achse und Y-Achse für die Platine [0] .Länge?": Sie repräsentieren, dass wenn Sie so zu konstruieren und zu interpretieren Array.
Betrachten Sie ein Array wie folgt konstruieren:
char[][] board = new char[3][4];
Dies macht einen 2-dimensionalen Array, wo alle 3 Subanordnungen Länge 4.
Anwenden Ihrer Beschreibung haben, kann es visuell sein wie folgt dargestellt:
Also hier die i
in [i][j]
repr gibt die x-Koordinate an, und j
repräsentiert die y-Koordinate. Daher wäre board.length
die x-Größe und board[0].length
wäre die y-Größe.
Aber hier ist eine andere Art der Interpretation der gleichen 2-dimensionalen Array, wo die x-und y-Achsen transponiert sind.
Nun wird die i
in [i][j]
repräsentiert die y-Koordinate und die j
stellt die x-Koordinate. Daher wäre board.length
die y-Größe und board[0].length
wäre die x-Größe.
Weder ist richtig, noch ist falsch. Es hängt davon ab, was Sie zu repräsentieren versuchen, was Sie wählen.
'board.length' ist die" Länge "der ersten Dimension (wie viele Arrays es im Array gibt) und' board [0] .length' ist die "Länge" der "zweiten" Dimension (wie viele Elemente sind im ersten Array). X und Y könnten Interpretationen für diese Werte sein – UnholySheep
@UnholySheep also X-Achse für 'board.length' und Y-Achse für' board [0] .length'? –
@LyManeug X und Y existieren nur im Auge des Betrachters, Sie können sie in jeder Dimension Ihres 2D-Arrays verfolgen. –