1. 컬렉션에서 Stream 생성
//1. 컬렉션에서 Stream 생성
List<String> list = Arrays.asList("홍길동", "이순신", "유관순");
Stream<String> s = list.stream(); //스트림얻기. 중간처리,최종처리를 할 수 있음.
System.out.println("스트림 요소 갯수: " + s.count()); //스트림 요소 갯수: 3
//익명클래스
Consumer<String> c = new Consumer<String>() {
@Override
public void accept(String t) {
System.out.println(t);
}
};
//s라는 변수를 계속 반복적으로 쓸수 없기 때문에 새로운 스트림을 얻어 forEach할때 사용
list.stream().forEach(c);
System.out.println();
//람다표현식
list.stream().forEach(t->System.out.println(t));
System.out.println();
//method reference
list.stream().forEach(System.out::println);
2. 배열에서 Stream 생성
//2. 배열에서 Stream 생성
String[] names = {"홍길동1", "이순신1", "유관순1"};
Stream<String> x = Stream.of(names);
x.forEach(System.out::println);
System.out.println();
Stream<String> x2 = Arrays.stream(names);
x2.forEach(System.out::println);
리터럴에서 Stream 생성
//3. 리터럴에서 Stream 생성
Stream<String> y = Stream.of("홍길동2", "이순신2", "유관순2");
y.forEach(System.out::println);
System.out.println();
Stream<Integer> y2 = Stream.of(10,20,30);
y2.forEach(System.out::println);