You can use Java 8 Streams to find the maximum and minimum values from a list of integers using the max() and min() methods with Comparator.naturalOrder().
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class MaxMinExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(10, 5, 30, 25, 100, 50);
Optional<Integer> max = numbers.stream()
.max(Comparator.naturalOrder());
Optional<Integer> min = numbers.stream()
.min(Comparator.naturalOrder());
max.ifPresent(m -> System.out.println("Maximum: " + m));
min.ifPresent(m -> System.out.println("Minimum: " + m));
}
}
Output:
Maximum: 100 Minimum: 5
Alternative Using mapToInt (Primitive Stream):
int max = numbers.stream().mapToInt(Integer::intValue).max().orElseThrow(); int min = numbers.stream().mapToInt(Integer::intValue).min().orElseThrow();
