-
[Java] 스트림(Stream)의 중개 연산 - 필터링 : filter(), distinct()Java/Stream(스트림) 2022. 7. 14. 13:36반응형
목차
스트림(Stream)의 중개 연산 - 필터링 : filter(), distinct()
1. filter()
filter() 메소드는 해당 스트림에서 주어진 조건(predicate)에 맞는 요소만으로 구성된 새로운 스트림을 반환합니다.
예제) 해당 스트림을 filter() 메서드를 이용하여 요소의 값이 'Java'로 이루어진 스트림을 반환
public static void createStreamFilter() { Stream<String> stream = Stream.of("Python", "Java", "PHP", "JavaScript", "Kotlin"); stream.filter(s -> "Java".equals(s)).forEach(System.out::println); }
Console Output
2.distinct()
distinct() 메소드는 해당 스트림에서 중복된 요소가 제가된 새로운 스트림을 반환합니다. distinct()메소드는 내부적으로 Object 클래스의 equals() 메소드를 사용하여 요소의 중복을 비교합니다.
예제) 해당 스트림을 distinct() 메서드를 이용하여 중복된 요소를 제거한 스트림을 반환
public static void createStreamDistinct() { Stream<String> stream = Stream.of("Python", "Java", "C", "Python", "Java", "Python", "C"); stream.distinct().forEach(System.out::println); }
Console Output
소스 코드는 Github Repository 참조하세요. - https://github.com/tychejin1218/blog/blob/main/stream/src/stream/Example03.java
반응형'Java > Stream(스트림)' 카테고리의 다른 글
[Java] 스트림(Stream)의 중개 연산 - 연산 결과 확인 : peek() (0) 2022.07.14 [Java] 스트림(Stream)의 중개 연산 - 정렬 : sorted() (0) 2022.07.14 [Java] 스트림(Stream)의 중개 연산 - 제한 : limit(), skip() (0) 2022.07.14 [Java] 스트림(Stream)의 중개 연산 - 변환 : map(), flatMap() (0) 2022.07.14 [Java] 스트림(Stream)의 생성 (0) 2022.07.12