Open kangchanguk opened 2 years ago
collection 데이터를 선언형으로 처리할 수 있다.
데이터 처리 파이프라인 생성이 가능
lowCaloricDishes = menu.stream().filter(d -> d.getCalories() < 15) .sorted(comparing(Dish::getCalories)) .collect(Collectors.toList());
스트림: 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소
연속된 요소: 컬렉션과 마찬가지로 스트림 역시 특정 요소 형식으로 이루어진 연속된 값 집합의 인터페이스
소스: 스트림은 데이터 제공 소스로부터 데이터를 소비
데이터 처리 연산
파이프라이닝: 스트림 연산끼리 연결을 통해서 커다란 파이프라인을 구성하도록 함
내부 반복
lowCaloricDishes = menu.stream().filter(d -> d.getCalories() < 15) .sorted(comparing(Dish::getCalories)) .map(Dish::getName) .limit(3) .collect(Collectors.toList());
4.3 스트림과 컬렉션
ex) 무한 소수 생성: 무한 루프를 돌며 새로운 소수를 계산하고 추가하기를 반복 브라우저 인터넷 검색: 모든 검색 결과를 내려받을 때까지 기다리지 않고 몇개의 검색 결과 만을 가져옴
List<String> title = Arrays.asList("java", "in", "Action"); Stream<String> s = title.stream(); s.forEach(System.out::println); s.forEach(System.out::println);
하기의 오류를 발생
Stream
Stream 이란?
collection 데이터를 선언형으로 처리할 수 있다.
데이터 처리 파이프라인 생성이 가능
컬렉션 스트림
스트림: 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소
연속된 요소: 컬렉션과 마찬가지로 스트림 역시 특정 요소 형식으로 이루어진 연속된 값 집합의 인터페이스
소스: 스트림은 데이터 제공 소스로부터 데이터를 소비
데이터 처리 연산
파이프라이닝: 스트림 연산끼리 연결을 통해서 커다란 파이프라인을 구성하도록 함
내부 반복
4.3 스트림과 컬렉션
ex) 무한 소수 생성: 무한 루프를 돌며 새로운 소수를 계산하고 추가하기를 반복 브라우저 인터넷 검색: 모든 검색 결과를 내려받을 때까지 기다리지 않고 몇개의 검색 결과 만을 가져옴
4.3.1 딱 한번만 탐색이 가능하다.
하기의 오류를 발생
4.3.2 외부 반복과 내부 반복