Javaの場合、例えばchar[][] board
があり、board.length
とboard[0].length
は何を表していますか? board.length
はboard[0].length
のx軸とy軸の長さですか?Java:2D配列で最初のインデックスは何を表していますか?
は、一例として、あなた
Javaの場合、例えばchar[][] board
があり、board.length
とboard[0].length
は何を表していますか? board.length
はboard[0].length
のx軸とy軸の長さですか?Java:2D配列で最初のインデックスは何を表していますか?
は、一例として、あなた
2次元配列には、「x」と「y」、または「幅」と「高さ」という固有の概念はありません。 2次元配列は、実際には2次元であるという概念をも持っていません。それは、それらの各ものが1次元配列である「物」の1次元配列です。
だからchar[][]
は、すべての要素がchar[]
である1次元配列です。すべてのchar[]
はすべての要素がである1次元配列です。格納された配列が互いに同じ長さである必要もないことに注意してください。
このように、「board.lengthはボード[0] .lengthのx軸とy軸の長さですか?」という質問はできません。アレイ。
は、このような配列を構築考えてみましょう:
char[][] board = new char[3][4];
これは3サブアレイのすべての長さあなたの説明を適用する4.
を持って、それは視覚的にすることができ、2次元配列を、作りますこのように表される:だからここ
、i
を[i][j]
のreprにx座標を表し、j
はy座標を表します。したがって、board.length
はxサイズになり、board[0].length
はyサイズになります。
ただし、x軸とy軸が転置された同じ2次元配列を解釈する別の方法があります。今
、[i][j]
でi
はy座標を表し、j
はx座標を表しています。したがって、board.length
はyサイズになり、board[0].length
はxサイズになります。
いずれも正しくありません。どちらも間違っていません。それはあなたが選んだものを表現しようとしているものに依存します。
ありがとう:
char[][] board = new char[10][5];
System.out.println(board.length); // prints 10
System.out.println(board[0].length); // prints 5
配列自体の長さは、最初の次元の長さです。その最初の次元の要素にアクセスすると、次いで等、二次元の長さが何であるかを明らかにすることができる
は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
)を返します。
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
は、列のようです。
'board.length'は最初の次元の長さ(配列内にいくつの配列があるか)であり、' board [0] .length'は「2番目」の次元の長さです要素は最初の配列にあります)。 XとYはこれらの値の解釈になります – UnholySheep
@UnholySheepしたがって、 'board.length'のX軸と' board [0] .length'のY軸は同じですか? –
@LyManeug XとYはビューアの目にのみ存在し、2D配列のいずれかの次元でそれらを追跡できます。 –