2016-11-25 7 views
1

Javaの場合、例えばchar[][] boardがあり、board.lengthboard[0].lengthは何を表していますか? board.lengthboard[0].lengthのx軸とy軸の長さですか?Java:2D配列で最初のインデックスは何を表していますか?

は、一例として、あなた

+0

'board.length'は最初の次元の長さ(配列内にいくつの配列があるか)であり、' board [0] .length'は「2番目」の次元の長さです要素は最初の配列にあります)。 XとYはこれらの値の解釈になります – UnholySheep

+0

@UnholySheepしたがって、 'board.length'のX軸と' board [0] .length'のY軸は同じですか? –

+2

@LyManeug XとYはビューアの目にのみ存在し、2D配列のいずれかの次元でそれらを追跡できます。 –

答えて

3

2次元配列には、「x」と「y」、または「幅」と「高さ」という固有の概念はありません。 2次元配列は、実際には2次元であるという概念をも持っていません。それは、それらの各ものが1次元配列である「物」の1次元配列です。

enter image description here

だからchar[][]は、すべての要素がchar[]である1次元配列です。すべてのchar[]はすべての要素がである1次元配列です。格納された配列が互いに同じ長さである必要もないことに注意してください。

このように、「board.lengthはボード[0] .lengthのx軸とy軸の長さですか?」という質問はできません。アレイ。

は、このような配列を構築考えてみましょう:

char[][] board = new char[3][4]; 

これは3サブアレイのすべての長さあなたの説明を適用する4.

を持って、それは視覚的にすることができ、2次元配列を、作りますこのように表される:だからここ

enter image description here

i[i][j]のreprにx座標を表し、jはy座標を表します。したがって、board.lengthはxサイズになり、board[0].lengthはyサイズになります。

ただし、x軸とy軸が転置された同じ2次元配列を解釈する別の方法があります。今

enter image description here

[i][j]iはy座標を表し、jはx座標を表しています。したがって、board.lengthはyサイズになり、board[0].lengthはxサイズになります。

いずれも正しくありません。どちらも間違っていません。それはあなたが選んだものを表現しようとしているものに依存します。

0

ありがとう:

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

配列自体の長さは、最初の次元の長さです。その最初の次元の要素にアクセスすると、次いで等、二次元の長さが何であるかを明らかにすることができる

3

ことはでき像この

  • board.lengthに2次元配列 - >行サイズ
  • ボード[0] .LENGTH - >拳の行の列のサイズがよく

enter image description here

0

board.lengthあなたの2DアレイWHIの長さを返しますle board[0].lengthは、2D配列の最初の要素の長さを返します。boardに格納されているすべての配列で同じです。これはneccesseraly xとy軸とは何の関係もありませんが、必ず、あなたはこのような2D char配列可視化することができます:あなたは、テーブルとboard[x][x]のx軸としてboard[x]を考える場合

[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 

をy軸としてx軸(この場合は5)の幅/長さを返すboard.lengthとy軸の高さ/長さを返すboard[0].length(この場合は4)を返します。

1

2D配列はこのようです。

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のようなものです。
twoDArray[0].lengthは、列のようです。

2

2次元配列の長さがすべての行で同じでない可能性があります。例えば、この配列の宣言を検討:

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

この画像[i]が.LENGTHがまさに説明:

enter image description here

a.lengthは、アレイの行の数であるのに対し(INこの場合4)。

関連する問題