1. Introduction
This tutorial focuses on the min() method of the Java Stream API. The min() method is used to determine the minimum element of a stream based on a given comparator. This method is particularly useful for finding the smallest item in a collection of data when working with streams.
Key Points
1. The min() method returns the smallest element in the stream as per the specified comparator.
2. It returns an Optional because the stream could be empty.
3. The Java Stream min() method is a terminal operation that returns the smallest element in the Stream.
2. Program Steps
1. Create a Stream of integers.
2. Apply the min() method with a comparator to find the smallest number.
3. Handle the result wrapped in an Optional.
3. Code Program
import java.util.Comparator;
import java.util.Optional;
import java.util.stream.Stream;
public class StreamMinExample {
public static void main(String[] args) {
// Stream of integers
Stream<Integer> numberStream = Stream.of(10, 45, 75, 30, 90);
// Find min in stream of numbers
Optional<Integer> minNumber = numberStream.min(Comparator.naturalOrder());
minNumber.ifPresent(min -> System.out.println("The minimum number is: " + min));
// Stream of strings
Stream<String> stringStream = Stream.of("Apple", "Orange", "Banana", "Lemon", "Peach");
// Find min in stream of strings
Optional<String> shortestString = stringStream.min(Comparator.comparingInt(String::length));
shortestString.ifPresent(shortest -> System.out.println("The shortest string is: " + shortest));
}
}
Output:
The minimum number is: 10 The shortest string is: Peach
Explanation:
1. Stream.of(10, 45, 75, 30, 90) creates a stream of integers.
2. numberStream.min(Comparator.naturalOrder()) uses the natural ordering of integers to find the smallest value in the stream.
3. minNumber.ifPresent(min -> System.out.println("The minimum number is: " + min)) checks if a minimum value is present and prints it.
4. Stream.of("Apple", "Orange", "Banana", "Lemon", "Peach") creates a stream of strings.
5. stringStream.min(Comparator.comparingInt(String::length)) uses a comparator based on string length to find the shortest string in the stream.
6. shortestString.ifPresent(shortest -> System.out.println("The shortest string is: " + shortest)) prints the shortest string if it exists.
Comments
Post a Comment
Leave Comment