Java で整数リストを整数配列に変換する方法

Rupam Yadav 2023年10月12日
  1. Java で整数のリストを整数の配列に変換するには、Stream().mapToInt() を使用する
  2. Java で整数リストを整数配列に変換するには、ArrayUtils.toPrimitive() を用いる
  3. Java で整数リストを整数配列に変換する Guava のメソッド
Java で整数リストを整数配列に変換する方法

このチュートリアルでは、Java で整数リスト List<Integer> を整数配列 int[] に変換する方法を紹介します。整数リストと整数配列であることがわかります。前者は整数というオブジェクトのデータ型を持ち、後者は整数というプリミティブなデータ型を持ちます。

Java で整数のリストを整数の配列に変換するには、Stream().mapToInt() を使用する

Java 8 では Streamjava.util.stream パッケージで導入された。これには、IntStream (プリミティブな整数値のシーケンス) を返す mapToInt() メソッドが含まれているので、望ましい結果を得るのに役立ちます。

より明確にするために、以下の例で見てみましょう。

import java.util.ArrayList;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    List<Integer> numList = new ArrayList<Integer>();
    numList.add(11);
    numList.add(22);
    numList.add(33);
    numList.add(44);
    numList.add(55);

    int[] numArray = numList.stream().mapToInt(i -> i).toArray();

    for (int intValue : numArray) {
      System.out.println(intValue);
    }
  }
}

出力:

int primitive: 11
int primitive: 22
int primitive: 33
int primitive: 44
int primitive: 55

デバッグすることで numArray のデータ型を確認することができます。以下のデバッグ出力を見ると、numListArrayList であり、numArray はプリミティブ int であることがわかります。

numList = {ArrayList @832} size = 5 numArray = {int[5] @833} intValue = 11

Java で整数リストを整数配列に変換するには、ArrayUtils.toPrimitive() を用いる

整数リスト List<Integer> を整数配列 int[] 型にキャストする別の方法があります。ヘルパーメソッドのセットである Apache Common Lang を使用します。

ArrayUtils.toPrimitive() を使用すると、numList を渡すことで int[] データ型の結果を得ることができます。

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;

public class Main {
  public static void main(String[] args) {
    List<Integer> numList = new ArrayList<Integer>();
    numList.add(110);
    numList.add(220);
    numList.add(330);
    numList.add(440);
    numList.add(550);

    int[] intArray = ArrayUtils.toPrimitive(numList.toArray(new Integer[numList.size()]));
    for (int intValue : intArray) {
      System.out.println("int primitive: " + intValue);
    }
  }
}

出力:

int primitive: 110
int primitive: 220
int primitive: 330
int primitive: 440
int primitive: 550

Java で整数リストを整数配列に変換する Guava のメソッド

Guava は整数のリストを整数のプリミティブ値に変換するのに役立つライブラリです。

Ints.toArray(ListOfIntegers)com.google.common.primitives.Ints パッケージの一部であり、リストを引数にとり、整数配列を提供してくれます。

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

public class Main {
  public static void main(String[] args) {
    List<Integer> numList = new ArrayList<Integer>();
    numList.add(110);
    numList.add(220);
    numList.add(330);
    numList.add(440);
    numList.add(550);

    int[] numArray = Ints.toArray(numList);
    for (int intValue : numArray) {
      System.out.println("int primitive: " + intValue);
    }
  }
}

出力:

int primitive: 110
int primitive: 220
int primitive: 330
int primitive: 440
int primitive: 550
著者: 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 Int

関連記事 - Java List

関連記事 - Java Array