2次元配列要素へのアクセス
CoddyのJavaジャーニー「ロジックとフロー」セクションの一部 — レッスン 2/59。
2次元配列の要素にアクセスする方法は、1次元配列の要素にアクセスする方法と似ていますが、1つのインデックスの代わりに2つのインデックスを使用します:1つは行用、もう1つは列用です。Java ではインデックスが 0 から始まることを覚えておいてください。したがって、最初の行はインデックス 0、2 番目の行はインデックス 1、以後同様です。同様に、最初の列はインデックス 0、2 番目の列はインデックス 1、以後同様です。
要素にアクセスするには、まず行インデックスを指定し、次に列インデックスを指定します。以下の構文を使用します:
arrayName[rowIndex][columnIndex]たとえば、matrixという名前の2次元配列の2行目(インデックス1)と3列目(インデックス2)の要素にアクセスするには、次のように記述します:
int element = matrix[1][2];これは、行 1、列 2 の要素の値を変数 element に割り当てます。
2 次元配列の次元を取得:
1 次元配列と同様に、2 次元配列の次元を取得するために .length を使用できます:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};
int numRows = matrix.length; // Gets number of rows: 2
int numCols = matrix[0].length; // Gets number of columns: 3matrix.lengthは行数を返しますmatrix[0].lengthは最初の行の列数を返します
境界のチェック:
要素にアクセスする前に、インデックスが有効かどうかを確認するのは良い習慣です:
if (rowIndex >= 0 && rowIndex < matrix.length &&
colIndex >= 0 && colIndex < matrix[0].length) {
// Safe to access matrix[rowIndex][colIndex]
}チャレンジ
簡単getElement という名前のメソッドを作成し、3 つの引数を受け取るようにしてください:
- 整数型の 2 次元配列で名前は
matrix。 - 行インデックスを表す整数
rowIndex。 - 列インデックスを表す整数
colIndex。
このメソッドは、matrix の指定された行と列にある要素を返さなければなりません。rowIndex または colIndex が範囲外の場合(つまり、0 未満、または行の数または列の数以上)、メソッドは -1 を返さなければなりません。
チートシート
2次元配列の要素にアクセスするには、2つのインデックスを使用します:1つは行用、もう1つは列用です。インデックスは 0 から始まります。
構文:
arrayName[rowIndex][columnIndex]例:
int element = matrix[1][2]; // Gets element at row 1, column 2.length を使用して 2 次元配列の次元を取得できます:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};
int numRows = matrix.length; // Gets number of rows: 2
int numCols = matrix[0].length; // Gets number of columns: 3自分で試してみよう
// クラス内にのみコードを書いてください。main() やこのクラス外のコードは記述しないでください。
class GetElement {
public static int getElement(int[][] matrix, int rowIndex, int colIndex) {
// ここにコードを書いてください
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。