안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
이번 포스팅부터는 자바 스트림에 대해 공부하겠습니다.
스트림 =>
컬렉션(배열)의 저장 요소를 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 반복자입니다.
람다식이 궁금하시다면?
2017/03/19 - [자바] - 자바 람다식 java 기본 문법과 함수적 인터페이스
반복자 스트림 =>
자바 7 버전 이전까지는 List<E> 컬렉션의 요소를 순차적으로 처리하려면
Iterator 반복자를 사용하였습니다.
ex)
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(20);
list.add(10);
Iterator<Integer> iter = list.iterator();
while(iter.hasNext)) {
int value = iter.next();
System.out.println(value);
}
위 예제 코드를 스트림을 사용하게 되면
아래처럼 사용할 수 있습니다.
ex)
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(20);
list.add(10);
Stream<Integer> stream = list.stream();
stream.forEach( value -> System.out.println(value) );
컬렉션의 stream()으로 스트림 객체를 얻은 후
stream.forEach( value -> System.out.println(value) );를 통하여forEach()는 Consumer 함수적 인터페이스 타입의 매개값을 가지므로
컬렉션의 요소를 소비할 코드를 람다식을 기술할 수 있게됩니다.
void forEach(Consumer<T> action)
예제를 보겠씁니다.
이상입니다.
다음 포스팅에서는 스트림의 특징에 대해 공부하겠습니다~~
'자바' 카테고리의 다른 글
자바 스트림 Java Stream => 스트림의 종류 (0) | 2017.03.30 |
---|---|
자바 스트림 Java Stream => 스트림의 특징 (0) | 2017.03.30 |
자바 컬렉션 Java - LIFO 와 FIFO 컬렉션 => Stack / Queue / 동기화 컬렉션/ 병렬처리 컬렉션 (0) | 2017.03.25 |
자바 컬렉션 Java - TreeMap, Comparable과 Comparator (0) | 2017.03.25 |
자바 컬렉션 Java 컬렉션 - 이진트리구조, TreeSet (0) | 2017.03.25 |