Learnitweb

Java 8 program to find the maximum and minimum of a list of integers

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