Java - String配列の初期化方法

Javaで文字列配列を初期化する方法を紹介します。

1.配列宣言とIndexによる値の割り当て

new String[size]のように文字列配列を宣言でき、 arr[index] = valueで値を割り当てることができます。

public class Example {

    public static void main(String[] args) {

        String[] arr = new String[4];
        arr[0] = "apple";
        arr[1] = "kiwi";
        arr[2] = "grape";
        arr[3] = "banana";

        for (String str : arr) {
            System.out.println(str);
        }
    }
}

Output:

apple
kiwi
grape
banana

2. 配列宣言と同時に値を割り当てる

String[] arr = {...} または String[] arr = new String[] {...} の形で配列宣言と同時に初期値を設定できます。

public class Example1 {

    public static void main(String[] args) {

        String[] arr = {"apple", "kiwi", "grape", "banana"};
        for (String str : arr) {
            System.out.println(str);
        }

        System.out.println();

        String[] arr2 = new String[] {"apple", "kiwi", "grape", "banana"};
        for (String str : arr2) {
            System.out.println(str);
        }
    }
}

Output:

apple
kiwi
grape
banana

apple
kiwi
grape
banana

3. Arrays.fill() で配列を埋める

文字列配列を宣言するとデフォルトでnullで埋められますが、 Arrays.fill()で配列に特定の値を埋めることができます。

たとえば、 Arrays.fill(arr, "A") は arr 配列の値をすべて A に設定します。

Arrays.fill(arr, start, end, "A") は、arr 配列の start インデックスから end インデックスまでのみ値を A に設定します。注意すべき点は設定範囲でstartインデックスは含まれ、endインデックスは含まれません。

import java.util.Arrays;

public class Example2 {

    public static void main(String[] args) {

        String[] arr = new String[4];

        Arrays.fill(arr, "A");
        for (String str : arr) {
            System.out.println(str);
        }

        System.out.println();

        String[] arr2 = new String[4];
        Arrays.fill(arr2, 1, 3, "B");
        for (String str : arr2) {
            System.out.println(str);
        }

    }
}

Output:

A
A
A
A

null
B
B
null

4. Arrays.setAll() で配列を埋める

Arrays.setAll(arr, lambda) は引数で渡された配列 arr に対して lambda を用いて初期値を設定します。

以下の例では、ラムダ式は i -> "A" + iです。配列のインデックスがiに渡され、戻り値が各インデックスの要素値に設定されます。

import java.util.Arrays;

public class Example3 {

    public static void main(String[] args) {

        String[] arr = new String[4];

        Arrays.setAll(arr, i -> "A" + i);
        for (String str : arr) {
            System.out.println(str);
        }
    }
}

Output:

A0
A1
A2
A3
codechachaCopyright ©2019 codechacha