-
[Java] 스트림(Stream)의 최종 연산 - 요소의 통계 : count(), max(), min()Java/Stream(스트림) 2022. 7. 25. 15:52반응형
목차
스트림(Stream)의 최종 연산 - 요소의 통계 : count(), min(), max()
1. count()
해당 스트림의 요소의 총 개수를 long 타입의 값으로 반환합니다.
예제) 해당 스트림의 총 개수
public static void createStreamCount() { IntStream ints = IntStream.of(10, 20, 30, 40, 50); Long intsCount = ints.count(); System.out.println(intsCount); }
Console Output
2. max()
해당 스트림의 요소 중에서 가장 큰 값을 가지는 요소를 참조하는 Optional 객체를 반환합니다.
예제) 해당 스트림에서 가장 큰 값을 반환public static void createStreamIntMax() { IntStream ints = IntStream.of(10, 20, 30, 40, 50); OptionalInt opMaxInt = ints.max(); opMaxInt.ifPresent(System.out::println); }
Console Output
예제) 해당 스트림에서 가장 큰 값을 반환(문자열)
문자열에서 가장 큰 값(알파벳 순서)을 구하려면 Comparator에서 문자열의 알파벳 순서를 비교하도록 설정 (compareToIgnoreCase()는 대/소문자를 구분하지 않고 비교)
public static void createStreamStringMax() { List<String> strings = Arrays.asList("Python", "Java", "PHP", "JavaScript", "Kotlin"); Comparator<String> comparator = (s1, s2) -> s1.compareToIgnoreCase(s2); Optional<String> opMaxString = strings.stream().max(comparator); opMaxString.ifPresent(System.out::println); }
Console Output
예제) 해당 스트림에서 문자열의 길이가 가장 큰 값을 반환
public static void createStreamStringMaxLength() { List<String> strings = Arrays.asList("Python", "Java", "PHP", "JavaScript", "Kotlin"); Comparator<String> comparatorLength = Comparator.comparingInt(String::length); Optional<String> opMaxString = strings.stream().max(comparatorLength); opMaxString.ifPresent(System.out::println); }
Console Output
3. min()
해당 스트림의 요소 중에서 가장 작은 값을 가지는 요소를 참조하는 Optional 객체를 반환합니다.
예제) 해당 스트림의 가장 작은 값을 가지는 요소를 반환public static void createStreamIntMax() { IntStream ints = IntStream.of(10, 20, 30, 40, 50); OptionalInt opMaxInt = ints.max(); opMaxInt.ifPresent(System.out::println); }
Console Output
예제) 해당 스트림에서 가장 작은 값을 반환(문자열)
문자열에서 가장 큰 값(알파벳 순서)을 구하려면 Comparator에서 문자열의 알파벳 순서를 비교하도록 설정 (compareToIgnoreCase()는 대/소문자를 구분하지 않고 비교)
public static void createStreamStringMin() { List<String> strings = Arrays.asList("Python", "Java", "PHP", "JavaScript", "Kotlin"); Comparator<String> comparator = (s1, s2) -> s1.compareToIgnoreCase(s2); Optional<String> opMinString = strings.stream().min(comparator); opMinString.ifPresent(System.out::println); }
Console Output
예제) 해당 스트림에서 문자열의 길이가 가장 짧은 값을 반환
public static void createStreamStringMinLength() { List<String> strings = Arrays.asList("Python", "Java", "PHP", "JavaScript", "Kotlin"); Comparator<String> comparatorLength = Comparator.comparingInt(String::length); Optional<String> opMinString = strings.stream().min(comparatorLength); opMinString.ifPresent(System.out::println); }
Console Output
소스 코드는 Github Repository 참조하세요. - https://github.com/tychejin1218/blog/blob/main/stream/src/stream/Example06.java
반응형'Java > Stream(스트림)' 카테고리의 다른 글
[Java] 스트림(Stream)의 최종 연산 - 요소의 수집 : collect() (0) 2022.07.29 [Java] 스트림(Stream)의 최종 연산 - 요소의 연산 : sum(), average() (0) 2022.07.25 [Java] 스트림(Stream)의 최종 연산 - 요소의 검사 : anyMatch(), allMatch(), noneMatch() (0) 2022.07.25 [Java] 스트림(Stream)의 최종 연산 - 요소의 검색 : findFirst(), findAny() (0) 2022.07.25 [Java] 스트림(Stream)의 최종 연산 - 요소의 소모 : reduce() (0) 2022.07.25