본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

collect() 통계정보를 얻다: counting() summingInt() averagingInt() maxBy() minBy()

 

 

counting()
스트림의 요소 개수를 세는데 사용.

import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Stream<String> stream = Stream.of("Apple", "Banana", "Orange");

        long count = stream.collect(Collectors.counting());

        System.out.println("Count: " + count); // 출력: 3
    }
}

 

 

 

summingInt()
스트림의 요소를 정수로 변환하여 합계를 구하는데 사용.

import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5);

        int sum = stream.collect(Collectors.summingInt(Integer::intValue));

        System.out.println("Sum: " + sum); // 출력: 15
    }
}

 

 

 

averagingInt()
스트림의 요소를 정수로 변환하여 평균을 구하는데 사용.

import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5);

        double average = stream.collect(Collectors.averagingInt(Integer::intValue));

        System.out.println("Average: " + average); // 출력: 3.0
    }
}

 

 

 

 

maxBy() 

최댓값을 찾는다.

예시에서는 문자열의 길이를 비교하여 최댓값을 찾았다.

import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Stream<String> stream = Stream.of("Apple", "Banana", "Orange");

        Optional<String> max = stream.collect(Collectors.maxBy((s1, s2) -> s1.length() - s2.length()));

        System.out.println("Max: " + max.orElse("No max element")); // 출력: Orange
    }
}

 

 

 

 

minBy()

최소값을 찾는다.

예시에서는 문자열의 길이를 비교하여 최댓소값을 찾았다.

import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Stream<String> stream = Stream.of("Apple", "Banana", "Orange");

        Optional<String> min = stream.collect(Collectors.minBy((s1, s2) -> s1.length() - s2.length()));

        System.out.println("Min: " + min.orElse("No min element")); // 출력: Apple
    }
}