> Java > java지도 시간 > 스트림을 사용하여 Java에서 목록을 int[]로 효율적으로 변환하는 방법은 무엇입니까?

스트림을 사용하여 Java에서 목록을 int[]로 효율적으로 변환하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-23 20:20:24
원래의
807명이 탐색했습니다.

How to Efficiently Convert a List to an int[] in Java Using Streams?

List의 효율적인 변환 int[] Java 스트림 사용

문제:

개발자는 List Java에서는 int[]로 변환합니다. List.toArray()는 Integer[] 또는 int[]로 직접 변환할 수 없는 Object[]를 생성합니다.

초기 솔루션:

일반적으로 사용되는 솔루션 int[]의 해당 인덱스에 각 요소를 수동으로 할당하기 위해 루프를 사용하여 목록을 반복하는 작업이 포함됩니다. array.

Java 8 스트림 향상:

그러나 Java 8에서는 보다 간결하고 효율적인 접근 방식을 제공하는 스트림 향상 기능을 도입했습니다. 기본 int 유형을 처리하도록 특별히 설계된 IntStreams를 활용하면 변환 프로세스를 간소화할 수 있습니다.

mapToInt() 및 Lambda를 사용한 솔루션:

int[] example1 = list.stream().mapToInt(i -> i).toArray();
로그인 후 복사

mapToInt () 메소드는 Stream의 각 요소를 변환합니다. int로 변환하여 IntStream으로 변환할 수 있습니다. 람다 식(i -> i)은 단순히 정수를 unboxing합니다.

mapToInt() 및 메서드 참조를 사용한 솔루션:

또는 메서드 참조를 사용할 수 있습니다. :

int[] example2 = list.stream().mapToInt(Integer::intValue).toArray();
로그인 후 복사

생각 프로세스:

Stream#toArray()는 기본적으로 Object[]를 반환하므로 mapToInt()를 활용하여 Integer 요소를 int로 변환합니다. IntStreams는 int[] 배열을 생성하는 기본 toArray() 메서드를 제공합니다.

IntStreams를 활용하면 int[]로 캐스팅하기 전에 추가로 unboxing하거나 Integer[]로 명시적으로 변환할 필요가 없습니다. 이러한 최적화를 통해 변환 프로세스가 간소화되어 코드 간결성과 효율성이 모두 향상됩니다.

위 내용은 스트림을 사용하여 Java에서 목록을 int[]로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿