Java 配列の使い方のサンプル

Javaの配列の使い方のサンプルです。

確認環境
・Java 8

目次

配列とは

  • 1つの変数で同じ型の複数の値を保持できます。
  • 要素の順序をインデックス(添字)で管理します。上記図では[0]、[1]、[2]、[3]がインデックスです。
  • インデックスの先頭は0から始まります。
  • 最初に配列の数を決める必要があります。後から配列の数を変更できません。
  • 要素の数が動的である場合はコレクションのArrayListの方がよいです。
    Java ArrayListの使い方のサンプル

配列を作成/参照する

配列の作成と参照のサンプルです。

package test1;

public class Test1 {
	public static void main(String[] args) {

		String[] color1 = new String[3];
		color1[0] = "赤";
		color1[1] = "黄";
		color1[2] = "青";
		
		String[] color2 = {"赤","黄","青"};
		System.out.println(color2[0]);//黄
		System.out.println(color2[1]);//黄
		System.out.println(color2[2]);//黄
	}
}

6~9行目は、配列の数を指定した後、各要素に値を設定しています。
11行目は、配列の宣言時に配列の値を設定しています。こっちのほうがシンプルです。
12~14行目は、配列の各値を表示しています。

 

配列の各値をfor文のループで取得する

配列の各値をfor文のループで取得するサンプルです。

package test1;

public class Test1 {
	public static void main(String[] args) {

		String[] color = {"赤","黄","青"};

		for (String a : color) {
			System.out.println(a); //赤 黄 青
		}

		for (int i = 0; i < color.length; i++) {
			System.out.println(color[i]); //赤 黄 青
		}
	}
}

8~10行目は、拡張for文で配列の各値を表示しています。
12~14行目は、for文で配列の各値を表示しています。
拡張for文の方がシンプルです。

 

配列の各値をStream APIで取得する

配列の各値をStream APIで取得するサンプルです。Java SE8以降で使用できます。

package test1;
import java.util.Arrays;

public class Test1 {
	public static void main(String[] args) {

		String[] color = {"赤","黄","青"};

		Arrays.stream(color)
			.forEach(a -> System.out.println(a));//赤 黄 青
	}
}

9,10行目は、Stream APIです。
10行目は、forEachメソッドで配列の各値を取得しています。forEachメソッドは順序が保証されていないので注意して下さい。変数a以降はラムダ式です。

以下は、OracleのArraysクラスのstreamメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Arrays.html#stream-T:A-

以下は、OracleのStreamインタフェースのforEachメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/stream/Stream.html#forEach-java.util.function.Consumer-

 

メソッドの引数/戻り値が配列の場合

メソッドの引数と戻り値が配列のサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {

    	String[] color = {"赤","黄","青"};

        String[] b = getColor(color);
    }

    private static String[] getColor(String[] c1) {

        for (String a : c1) {
        	System.out.println(a);//赤 黄 青
        }
        return c1;
    }
}

8行目は、呼び出し元のメソッドです。引数(実引数)に配列を指定しています。戻り値も配列です。
11行目は、定義されたメソッドです。引数(仮引数)に配列があります。戻り値も配列です。(以下の図を参照)

呼び出し元のメソッドの引数の変数名と定義されたメソッドの引数の変数名は異なっていても使用できます。

 

多次元配列を作成する

多次元配列を作成するサンプルです。

package test1;

public class Test1 {
	public static void main(String[] args) {

		String[][] a = {
			{"赤1","黄1","青1"},
			{"赤2","黄2","青2"}
		};
		System.out.println(a[0][0]); //赤1
		System.out.println(a[0][1]); //黄1
		System.out.println(a[0][2]); //青1
		System.out.println(a[1][0]); //赤2
		System.out.println(a[1][1]); //黄2
		System.out.println(a[1][2]); //青2
	}
}

6行目は、ブラケット[ ]を2つにして2次元配列を作成しています。
10~15行目は、2次元配列の値を表示しています。

関連の記事

Java 拡張for文のサンプル
Java 配列からリストを作成するサンプル(Arraysクラス)
Java 配列からリストを作成するサンプル(Collectionsクラス)

△上に戻る