본문 바로가기
728x90

Modern java in action6

[Modern java in action] Stream(2) 4-1 필터링 → 스트림의 요소를 선택하는 방법 1) 프레디케이트로 필터링 → 스트림 인터페이스는 filter 메서드를 지원한다. filter메서드는 Predicate(boolean을 반환하는 함수)를 인수로 받아서 일치하는 모든 스트림을 반환한다. 예시) 프레디케이트 필터링 List vegetarianMenu = menu.stream() .filter(Dish::isVegetarian) .collect(toList()); 2) 고유 요소 필터링 → 고유 요소로 이루어진 스트림을 반환하는 distinct 메서드도 지원한다. (고유 여부는 스트림에서 만든 객체의 hashCode, equals로 결정됨) 예시) 고유 요소 필터링 List numbers = Arrays.asList(1,2,1,3,3,2,4);.. 2021. 6. 24.
[modern java in action] Stream(1) 3-1 스트림이란? → 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소 특징 - 선언형 : 더 간결하고 가독성이 좋아진다. - 조립할 수 있음 : 유연성이 좋아진다. - 병렬화 : 성능이 좋아진다. 3-2 스트림 시작하기 - 연속된 요소 : 특정 요소 형식으로 이루어진 연속된 값 집합의 인터페이스 - 소스 : 컬렉션, 배열, I/O 자원 등의 데이터 제공 소스로부터 데이터를 소비한다 / 정렬된 컬렉션으로 스트림을 생성하면 정렬이 그대로 유지된다. - 데이터 처리 연산 : 함수형 프로그래밍 언어에서 지원하는 연산과 데이터베이스와 비슷한 연산을 지원한다. (filter, map, reduce, find, match, sort) / 스트림 연산은 순차적, 또는 병렬로 실행할 수 있다. 스트림 의 중.. 2021. 6. 24.
728x90