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

  1. Java で整数のリストを整数の配列に変換するには、Stream().mapToInt() を使用する
  2. Java で整数リストを整数配列に変換するには、ArrayUtils.toPrimitive() を用いる
  3. Java で整数リストを整数配列に変換する Guava のメソッド

このチュートリアルでは、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 = {[email protected]}  size = 5
numArray = {int[5]@833} 
intValue = 11

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

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

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


import org.apache.commons.lang3.ArrayUtils;

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[] 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

関連記事 - Java Integer

  • Java で整数を文字列に変換する方法
  • 関連記事 - Java List

  • Java で新しいリストを作成する方法
  • Java で 2つのリストを結合する方法
  • 関連記事 - Java Array

  • Java で配列要素を並べ替える方法
  • Java で配列から ArrayList を作成する方法
  • comments powered by Disqus