stream은 컬렉션, 배열 등의 저장 요소를 하나씩 참조하며 함수형 인터페이스(람다식)를 적용하며 반복적으로 처리할 수 있도록 해주는 기능이다.
(InputStream등등과 다른것)
package streamapi;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("alpha", "beta", "gamma", "delta", "epsilon");
//기존 코딩방식
long count = 0;
for(String name : names) {
if(name.contains("e")) count++;
}
System.out.println("count : " + count); // 3
// 스트림을 이용한 방식
count = 0;
count = names.stream().filter(x -> x.contains("e")).count();
System.out.println("count = " + count);
}
}
출처: