Java - String配列をint配列に変換する

数値の文字列配列をint配列に変換する方法を紹介します。

1. Integer.parseInt()でString配列をint配列に変換する

Integer.parseInt(string) は、文字列として渡された文字列を int に変換します。

以下のように、forステートメントを使用して文字列配列をint配列に変換できます。

public class Example {

    public static void main(String[] args) {

        String[] arr = new String[] {"10", "15", "30", "55"};

        int[] newArr = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            newArr[i] = Integer.parseInt(arr[i]);
        }

        // output
        for (int i = 0; i < newArr.length; i++) {
            System.out.println("newArr[" + i + "] = " + newArr[i]);
        }
    }
}

Output:

newArr[0] = 10
newArr[1] = 15
newArr[2] = 30
newArr[3] = 55

2. StreamでString配列をInteger配列に変換する

以下のように配列をStreamにし、Streamの mapToInt()で文字列をIntegerに変換できます。

次の例では、String配列をInteger配列に変換します。

import java.util.Arrays;
import java.util.stream.Stream;

public class Example1 {

    public static void main(String[] args) {

        String[] arr = new String[] {"10", "15", "30", "55"};

        Integer[] newArr = Stream.of(arr).mapToInt(Integer::parseInt).boxed().toArray(Integer[]::new);

        // output
        System.out.println(Arrays.asList(newArr));
    }
}

Output:

[10, 15, 30, 55]

3. StreamでString配列をint配列に変換する

Integer 配列ではなく、 int 配列に変換するには以下のように実装すればよい。上記と似ていますが、int配列として返されます。

import java.util.stream.Stream;

public class Example2 {

    public static void main(String[] args) {

        String[] arr = new String[] {"10", "15", "30", "55"};

        int[] newArr = Stream.of(arr).mapToInt(Integer::parseInt).toArray();

        // output
        for (int i = 0; i < newArr.length; i++) {
            System.out.println("newArr[" + i + "] = " + newArr[i]);
        }
    }
}

Output:

newArr[0] = 10
newArr[1] = 15
newArr[2] = 30
newArr[3] = 55
codechachaCopyright ©2019 codechacha