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
}
}