Menu
Coddy logo textTech

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: 3
  • matrix.length は行数を返します
  • matrix[0].length は最初の行の列数を返します

境界のチェック:

要素にアクセスする前に、インデックスが有効かどうかを確認するのは良い習慣です:

if (rowIndex >= 0 && rowIndex < matrix.length && 
    colIndex >= 0 && colIndex < matrix[0].length) {
    // Safe to access matrix[rowIndex][colIndex]
}
challenge icon

チャレンジ

簡単

getElement という名前のメソッドを作成し、3 つの引数を受け取るようにしてください:

  1. 整数型の 2 次元配列で名前は matrix
  2. 行インデックスを表す整数 rowIndex
  3. 列インデックスを表す整数 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) {
        // ここにコードを書いてください
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン