프로그래밍 언어/JAVA(자바)

[자바/java] stream사용해서 ArrayList<Integer>을 int[]로 반환하기

냠냠:) 2020. 4. 18. 21:20

들어가기 앞서 자바 스트림이란?

자바 8부터 추가된 기능으로 함수형 인터페이스인 람다(lambda)를 활용할 수 있는 기술입니다.

장점 

- 기존 배열이나 컬렉션을 반복문으로 순회하면서 하나씩 꺼내는 코드를 사용하지 않고 간결하게 표현 가능하다.

- 멀티 스레드 환경에 필요한 코드를 작성하지 않아도 데이터를 병렬로 처리할 수 있다.

 

동작 단계

1. 배열이나 컬렉션으로 스트림을 생성(Stream Source)

2. 스트림을 필터링, 요소를 변환하는 중간 연산(Intermediate Operations)

3. 결과를 도출하는 단말 연산(Terminal Operations)

 

[사용 예제]

1
2
3
4
5
6
7
ArrayList<Integer> al = new ArrayList<>();
al.add(1);
al.add(2);
 
int[] result = al.stream().mapToInt(Integer::intValue).toArray();
 
//result = [1,2]
cs

 

반응형