Java で ArrayList に Int 配列を変換する

Rupam Yadav 2023年10月12日
  1. Java 8 ストリームを使って int 配列を ArrayList に変換する
  2. Java の拡張 for ループを用いた int 配列から ArrayList への変換する
  3. Guava を用いて int 配列を整数オブジェクトのリストに変換する
Java で ArrayList に Int 配列を変換する

このチュートリアルでは、Java でプリミティブな int の配列を ArrayList に変換する方法を紹介します。プリミティブなデータ型の ArrayList は作成できないので、Integer オブジェクトを使用することになります。

Java 8 ストリームを使って int 配列を ArrayList に変換する

この例では、配列を操作するためのいくつかのメソッドを提供する Arrays クラスの Stream API を利用します。これを動作させるには、まず int 要素の配列を作成し、Arrays クラスを使って stream() メソッドを呼び出す。しかし、intArray の項目はプリミティブ型なので、boxed() を使って各プリミティブを Integer オブジェクトの枠に収める必要があります。

collect() メソッドは項目を収集し、Collectors.toList() はリストに変換します。返されたリストを ArrayList<Integer> にキャストできます。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;

public class IntToInteger {
  public static void main(String[] args) {
    int[] intArray = {10, 20, 30, 40};

    ArrayList<Integer> integerArray =
        (ArrayList<Integer>) Arrays.stream(intArray).boxed().collect(Collectors.toList());

    System.out.println(integerArray);
  }
}

出力:

[10, 20, 30, 40]

Java の拡張 for ループを用いた int 配列から ArrayList への変換する

配列の各項目を ArrayList に追加するには、手動のメソッドを使用することができます。このメソッドは関数を使わず、代わりに拡張された for ループだけで十分に動作します。いくつかの int 型の要素を持つ配列 intArray と、intArray のサイズと等しい初期サイズを持つ空の ArrayList を作成します。

これで ArrayList は intArray の要素を正確に保持できるようになったので、拡張された for ループを使って、add() メソッドを呼び出して ArrayList に項目を追加できます。for ループは配列を繰り返し処理し、すべての項目が ArrayList に追加されます。

出力を見ると、intArray と同じ要素が得られていることがわかります。

import java.util.ArrayList;

public class IntToInteger {
  public static void main(String[] args) {
    int[] intArray = {13, 17, 21, 23};

    ArrayList<Integer> integerArray = new ArrayList<>(intArray.length);

    for (int i : intArray) {
      integerArray.add(i);
    }

    System.out.println(integerArray);
  }
}

出力:

[13, 17, 21, 23]

Guava を用いて int 配列を整数オブジェクトのリストに変換する

この例では、Guava ライブラリに含まれる Ints クラスを利用します。ライブラリの関数を利用するには、そのライブラリの maven 依存関係をプロジェクトにインクルードます。

<dependency>
   <groupId>com.google.guava</groupId>
   <artifactId>guava</artifactId>
   <version>23.5-jre</version> 
</dependency>

intArrayint 型の要素を持つ配列です。クラス Ints を用いて asList() を呼び出し、配列を引数に渡す。Ints.asList(intArray)Integer オブジェクトのリストを返します。

import com.google.common.primitives.Ints;
import java.util.List;

public class IntToInteger {
  public static void main(String[] args) {
    int[] intArray = {13, 17, 21, 23};

    List<Integer> integerArray = Ints.asList(intArray);

    System.out.println(integerArray);
  }
}

出力:

[13, 17, 21, 23]
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java Array

関連記事 - Java ArrayList