多次元配列の長さを取得する(length)
多次元配列の長さを取得するには length フィールドの値を参照します。配列の長さとは配列に含まれる要素の数です。配列を格納している要素数や、要素に格納されている配列の要素数などについてそれぞれ length フィールドを参照することで取得することができます。ここでは多次元配列の length を参照した配列の長さを取得する方法や利用方法について解説します。
(Last modified: )
多次元配列でlengthを参照する
作成した配列の長さを取得するには配列の length を参照します。書式は次のとおりです。
配列変数.length
1 次元配列の場合は配列の要素数を返しますが、 2 次元配列以上の場合は配列変数の length フィールドを参照すると一番外側の配列の要素数を返します。
次のサンプルを見てください。
int[][] num = new int[2][3]; System.out.println(num.length); // 2
配列変数.length は一番外側の配列の要素数を返します。
次に要素に格納されている配列の要素数を取得する場合です。要素に格納されている配列を取り出し、その配列の length フィールドを参照します。次のサンプルを見てください。
int[][] num = new int[2][3]; System.out.println(num.length); // 2 System.out.println(num[0].length); // 3 System.out.println(num[1].length); // 3
今回のサンプルの場合は、要素に格納されている配列は num[0] および num[1] で参照することができますので、それぞれの配列の length フィールドを参照することで、格納されている配列の要素数をそれぞれ取得することができます。
要素に格納されている配列の要素数が異なる場合でも同じです。
int[][] num = new int[2][]; num[0] = new int[3]; num[1] = new int[4]; System.out.println(num.length); // 2 System.out.println(num[0].length); // 3 System.out.println(num[1].length); // 4
先ほどと同じ手順で配列の要素数を取得することができます。
繰り返し処理と組み合わせてすべての要素の値を取得する場合などに、 length フィールドを使用すると便利です。
それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample9-1.java という名前で保存します。
class JSample9_1{ public static void main(String[] args){ int[][] num = {{87,54}, {76,92,48,58,84}}; for (int i = 0; i < num.length; i++){ for (int j = 0; j < num[i].length; j++){ System.out.println("num[" + i + "][" + j + "] = " + num[i][j]); } } } }
コンパイルを行います。
javac -encoding UTF-8 JSample9_1.java
その後で、次のように実行してください。
java JSample9_1
int 型のデータを格納する配列を格納する 2 次元配列を作成し、要素に対してそれぞれ値を格納したあとで、すべての要素の値を順番に参照して画面に表示しました。繰り返しの回数は length フィールドの値を参照しているので、配列の要素数がそれぞれ異なっている場合でも大丈夫です。
-- --
多次元配列の length を参照した配列の長さを取得する方法や利用方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。