HOWTO · Java

Java에서 정수 목록을 정수 배열로 변환하는 방법

이 기사에서는 Java에서 사용 가능한 최상의 방법을 사용하여 Integer 객체 목록을 원시 int 배열로 변환하는 방법을 설명합니다.

이 페이지의 내용

이 튜토리얼에서는 Java에서List<Integer>를int[]로 변환하는 방법을 소개합니다. 둘 다 정수의 ArrayList와 int의 배열 인 서로 다른 데이터 유형임을 알 수 있습니다. 전자는 객체 데이터 유형 즉 Integer를 포함하고 후자는 원시 데이터 유형 즉 int입니다.

Java에서 정수 목록을 정수 배열로 변환하는Stream().mapToInt()

Stream은java.util.stream 패키지와 함께 Java 8에 도입되었습니다. IntStream (원시적 인 int 값의 시퀀스)을 반환하는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의 데이터 유형을 다시 확인할 수 있습니다. 아래 디버그 출력은 numList가 ArrayList이고numArray가 기본 int임을 보여줍니다.

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

ArrayUtils.toPrimitive()는 Java에서 정수 목록을 Int 배열로 변환합니다

List<Integer>를int[]유형으로 캐스팅하는 또 다른 방법이 있습니다. 도우미 메서드 집합 인 Apache Common Lang을 사용합니다.

ArrayUtils.toPrimitive()를 사용하면int[]데이터 유형으로 결과를 제공하는numList를 전달할 수 있습니다.

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는 Integer 목록을 int의 원시 값으로 변환하는 데 도움이되는 라이브러리입니다.

Ints.toArray(ListOfIntegers)는 목록을 인수로 사용하고 int 배열을 제공하는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