2016-11-25 1 views
1

In Java sagen, zum Beispiel habe ich char[][] board, was bedeutet board.length und board[0].length darstellen? Ist board.length die Länge der x-Achse und y-Achse für die board[0].length?Java: Was repräsentiert der erste Index im 2D-Array?

Danke

+0

'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

+0

@UnholySheep also X-Achse für 'board.length' und Y-Achse für' board [0] .length'? –

+2

@LyManeug X und Y existieren nur im Auge des Betrachters, Sie können sie in jeder Dimension Ihres 2D-Arrays verfolgen. –

Antwort

3

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.

enter image description here

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:

enter image description here

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.

enter image description here

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.

0

Als Beispiel:

char[][] board = new char[10][5]; 
System.out.println(board.length);  // prints 10 
System.out.println(board[0].length); // prints 5 

Die Länge des Arrays sich die Länge der ersten Dimension ist. ein Element in dieser ersten Dimension Zugriff kann dann zeigen, was die Länge der zweiten Dimension usw.

3

Sie können die 2D-Array Bild zu diesem

  • board.length -> Reihen Größe
  • Bord [0] .length -> die Spalten Größe

enter image description here

0

Nun board.length Faust Reihe gibt die Länge Ihres 2D-Array whi le board[0].length gibt die Länge des ersten Elements in Ihrem 2D-Array zurück, das für alle in board gespeicherten Arrays gleich ist. Dies gilt nicht neccesseraly etwas mit x- und y-Achsen zu tun, aber sicher, könnten Sie einen 2D-char Array wie diese visualisieren:

[0] [1] [2] [3] [4] [5] 
[0] a b c d e f 
[1] g h i f j k 
[2] l m n o p q 
[3] r s t u v w 
[4] x y z A B C 

Wenn Sie board[x] als die x-Achse des Tisches denken und board[x][x] als Y-Achse würde board.length die Breite/Länge der X-Achse (In diesem Fall 5) und board[0].length die Höhe/Länge der Y-Achse zurückgeben (In diesem Fall 4).

1

2D-Array ist wie folgt.

int[][] twoDArray = new int[3][3]; 

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

twoDArray.length ist wie eine Reihe.
twoDArray[0].length ist wie eine Spalte.

2

Ein zweidimensionales Array hat möglicherweise nicht die gleiche Länge für alle Zeilen. Betrachten wir zum Beispiel dieses Array Deklaration:

int [][]a = {{1,2,3},{1,2},{1,2,3,4,5},{1,2,3,4}}; 

Dieses Bild wird genau erklärt, was die a [i] .length ist:

enter image description here

a.length während die Anzahl der Zeilen des Arrays ist (in dieser Fall 4).

Verwandte Themen