SeouliteLab

[Java/자바] IntStream을 List로 변환하는 방법 본문

프로그래밍

[Java/자바] IntStream을 List로 변환하는 방법

Seoulite Lab 2024. 3. 13. 14:23

Java에서 IntStream은 int 값을 요소로 갖는 스트림입니다. 이러한 IntStream을 List로 변환하는 다양한 방법을 알아보겠습니다.

예제 1: IntStream을 List로 변환하기 (boxed() 사용)

IntStream의 각 요소를 Integer 객체로 변환하여 List로 수집하는 예제입니다.

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class IntStreamToList {
    public static void main(String[] args) {
        IntStream intStream = IntStream.rangeClosed(1, 5); // 1부터 5까지의 숫자를 포함하는 IntStream 생성
        List<Integer> list = intStream.boxed().collect(Collectors.toList()); // IntStream을 List로 변환
        System.out.println(list); // 출력 결과: [1, 2, 3, 4, 5]
    }
}

예제 2: IntStream을 List로 변환하기 (mapToObj() 사용)

IntStream의 각 요소를 객체로 매핑하여 List로 수집하는 예제입니다.

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class IntStreamToList {
    public static void main(String[] args) {
        IntStream intStream = IntStream.rangeClosed(1, 5); // 1부터 5까지의 숫자를 포함하는 IntStream 생성
        List<Integer> list = intStream.mapToObj(i -> i).collect(Collectors.toList()); // IntStream을 List로 변환
        System.out.println(list); // 출력 결과: [1, 2, 3, 4, 5]
    }
}

예제 3: IntStream을 List로 변환하기 (toArray() 사용)

IntStream의 요소를 배열로 변환한 후 배열을 List로 변환하는 예제입니다.

import java.util.Arrays;
import java.util.List;
import java.util.stream.IntStream;

public class IntStreamToList {
    public static void main(String[] args) {
        IntStream intStream = IntStream.rangeClosed(1, 5); // 1부터 5까지의 숫자를 포함하는 IntStream 생성
        int[] array = intStream.toArray(); // IntStream의 요소를 배열로 변환
        List<Integer> list = Arrays.asList(array); // 배열을 List로 변환
        System.out.println(list); // 출력 결과: [1, 2, 3, 4, 5]
    }
}

예제 4: IntStream을 List로 변환하기 (collect() 사용)

IntStream의 각 요소를 직접 수집하여 List로 만드는 예제입니다.

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class IntStreamToList {
    public static void main(String[] args) {
        IntStream intStream = IntStream.rangeClosed(1, 5); // 1부터 5까지의 숫자를 포함하는 IntStream 생성
        List<Integer> list = intStream.collect(Collectors.toList()); // IntStream을 List로 변환
        System.out.println(list); // 출력 결과: [1, 2, 3, 4, 5]
    }
}

예제 5: IntStream을 List로 변환하기 (Stream.of() 사용)

IntStream의 각 요소를 Integer 객체로 변환하여 Stream으로 만든 후 List로 수집하는 예제입니다.

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class IntStreamToList {
    public static void main(String[] args) {
        IntStream intStream = IntStream.rangeClosed(1, 5); // 1부터 5까지의 숫자를 포함하는 IntStream 생성
        List<Integer> list = IntStream.rangeClosed(1, 5).mapToObj(Integer::valueOf).collect(Collectors.toList()); // IntStream을 List로 변환
        System.out.println(list); // 출력 결과: [1, 2, 3, 4, 5]
    }
}

예제 6: IntStream을 List로 변환하기 (Stream.generate() 사용)

IntStream.generate()를 사용하여 무한한 스트림을 생성하고, 그 스트림을 List로 변환하는 예제입니다. 여기서는 limit()를 사용하여 스트림의 크기를 제한합니다.

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class IntStreamToList {
    public static void main(String[] args) {
        List<

Integer> list = IntStream.generate(() -> 1).limit(5).boxed().collect(Collectors.toList()); // 1을 계속 생성하고, 그것을 5개까지 수집하여 List로 변환
        System.out.println(list); // 출력 결과: [1, 1, 1, 1, 1]
    }
}