스트림

    [자바 인 액션] 5. 스트림 활용

    스트림 활용 1. Filtering T -> boolean 고유 요소 필터링 : distinct List dishes = menu.stream() .filter(Dish::isVegetarian) .collect(Collectors.toList()); List dishes2 = menu.stream() .filter(dish -> dish.getFat() < 400) .distinct() .collect(Collectors.toList()); filter는 기본적으로 반환값이 boolean이다. menu.stream(): 컬렉션을 스트림으로 변환 filter(Dish::isVegetarian): dish클래스의 isVegetarian메서드를 메서드 참조하여 해당 조건을 필터링, 반환 = Stream(Di..

    [자바 인 액션] 4. 스트림

    스트림 스트림 컬렉션 데이터를 처리하는 하나의 파이프라인 SQL과 같이 반복문 없이 조건만으로 구현을 한다. 멀티코어를 활용한 컬렉션 요쇼 병렬처리 가독성이 좋아진다. filter, sorted, map, collect같은 여러 빌딩 블록 연산을 통해 파이프라인 구축이 가능하다. 데이터 처리 연산을 지원하도록 소스에서 추출된 연속 요소 연속된 요소: 컬렉션과 같은 연속된 데이터를 계산 소스: 제공받은 데이터들을 소비하며 데이터 소스의 순서를 유지한다. 데이터 처리 연산: 데이터베이스와 비슷한 연산을 가진다. 스트림 구조 파이프라이닝: 스트림 연산은 각 스트림 연산을 연결하여 파이프라인을 구성 가능 내부반복: 컬렉션과 달리 스트림은 내부 반복을 지원한다. [스트림 vs 컬렉션] 가장 큰 차이 = 데이터를 ..