Int 배열을 Java의 Arraylist로 변환

Rupam Yadav 2023년10월12일
  1. Java 8 스트림을 사용하여int 배열을 ArrayList로 변환
  2. Java에서 향상된 for루프를 사용하여int 배열을 ArrayList로 변환
  3. Guava를 사용하여int 배열을 정수 객체 목록으로 변환
Int 배열을 Java의 Arraylist로 변환

이 튜토리얼에서는 Java에서 원시int 배열을ArrayList로 변환하는 방법을 소개합니다. 우리는Integer 객체를 사용하도록 원시 데이터 유형의ArrayList를 만들 수 없습니다.

Java 8 스트림을 사용하여int 배열을 ArrayList로 변환

이 예제에서는 배열을 조작하는 여러 메서드를 제공하는Arrays 클래스의Stream API를 사용합니다. 이를 위해 먼저int 요소의 배열을 만들고Arrays 클래스를 사용하여stream()메서드를 호출합니다. 그러나intArray의 항목은 기본 유형이므로boxed()를 사용하여 각 기본 요소를Integer 객체에 boxing해야합니다.

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의 크기와 동일한 초기 크기를 갖는 빈 ArrayList로 배열intArray를 만듭니다.

이제 ArrayList가intArray의 요소를 보유 할 수있는 용량을 정확하게 가지고 있으므로 향상된for 루프를 사용하고 ArrayList에 항목을 추가하는add()메서드를 호출 할 수 있습니다. 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