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();