1. Introduction
The min() method in Java Streams is used to find the smallest element according to a specified comparator. It is crucial for data analysis, sorting algorithms, or any scenario where determining the minimum value is required.
Key Points
1. min() is a terminal operation that returns an Optional to account for potentially empty streams.
2. It requires a Comparator to define the "minimum" based on specific criteria.
3. This method is widely applicable across various data types and collections.
2. Program Steps
1. Import necessary classes.
2. Create a stream of elements.
3. Apply the min() method with a comparator.
4. Display the result.
3. Code Program
import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.Optional; public class StreamMinExample { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(10, 3, 7, 0, -1, 8); // Using min() with Comparator Optional<Integer> minNumber = numbers.stream().min(Comparator.naturalOrder()); // Output the result minNumber.ifPresent(min -> System.out.println("The minimum value is: " + min)); } }
Output:
The minimum value is: -1
Explanation:
1. A List of Integer is created with both positive and negative integers.
2. The min() method is applied to the stream created from the list. Comparator.naturalOrder() is used to define natural ordering among integers (from smallest to largest), thus finding the minimum.
3. min() returns an Optional<Integer>, which is used here to safely handle the scenario where the list could be empty. Using ifPresent(), the program only attempts to print the minimum value if it exists, preventing any exceptions that would arise from attempting to access a value from an empty Optional.
4. The output clearly shows -1 as the minimum value, demonstrating that the method effectively identifies the smallest number in the list according to natural ordering.
Related Java 8 Source Code Examples:
Java Simple Lambda Expression Example Java Lambda Expressions Multiple Statements Java Lambda Expressions forEach Example Java Lambda Expression with Multiple Parameters Example Java Lambda Expression Runnable Example Java Lambda Expression Comparator Example Refactoring Factory Design Pattern with Lambdas Refactoring Chain of Responsibility Pattern with Lambdas Refactoring Observer Design Pattern with Lambdas Refactoring Strategy Design Pattern with Lambdas Iterate HashMap with forEach() + Lambda Expression Example Iterate HashSet with forEach() + Lambda Expression Example Iterate ArrayList with forEach() + Lambda Expression Example Java method reference to a constructor example Java method reference to static method example Java method reference to an instance method of an object example Java method reference to an instance method of an arbitrary object of a particular type Java 8 - Create Stream Object from Arrays Example Java 8 Creating a Stream from an Array Java 8 - Create Stream Object from Collection, List, Set Java 8 Stream - Sort List of String objects in Descending Order Example Java 8 Stream - Sort List of String objects in Ascending Order Example How to convert a Java 8 Stream to an Array? Java 8 Stream - allMatch(),anyMatch() and noneMatch() Example Java 8 Stream - Sort List of Objects by Multiple Fields Java 8 Stream - Sort List of Custom Objects in Ascending and Descending Order Java 8 - Stream filter(), forEach(), collect() and Collectors.toList() Example Java Stream filter null values example Java Stream filter map by values example Java Stream filter map by keys example Java 8 Collectors.counting() Example Java 8 Collectors.averagingDouble() Example Java 8 Collectors.toSet() Example Java 8 Collectors.toList() Example Java 8 Collectors.joining() example Java 8 Stream multiple filter operations Java 8 Stream filter map by keys Java 8 Stream filter map by values Java 8 Stream collect to list example Java 8 Stream Collectors.counting() exmaple Java 8 Collectors.collectingAndThen() example Java 8 Collectors.toList() Example Java 8 Collectors.minBy() and Collectors.maxBy() example Java Stream filter() Example Java Stream map() Example Java Stream flatMap() Example Java Stream distinct() Example Java Stream limit() Example Java Stream peek() Example Java Stream anyMatch() Example Java Stream allMatch() Example Java Stream noneMatch() Example Java Stream collect() Example Java Stream count() Example Java Stream findAny() Example Java Stream findFirst() Example Java Stream forEach() Example Java Stream min() Example Java Stream max() Example Java Stream reduce() Example Java Stream toArray() Example Java Function Functional Interface Example Java Supplier Functional Interface Example Java Consumer Example Java BiConsumer Example Java BiFunction Example Java Predicate Example Java 8 LongConsumer Example Java 8 IntConsumer Example Java 8 DoubleConsumer Example Java StringJoiner Example Create Optional Class Object in Java - empty(), of(), ofNullable() Methods Optional get() Method - Get Value from Optional Object in Java Optional isPresent() Method Example Optional orElse() Method Example Optional orElseGet() Method Example Optional orElseThrow() Method Example Optional filter() and map() Method Examples Java 8 program that counts the number of vowels and consonants in a given string Java 8 program that reverses words of a given string Java 8 - Copy List into Another List Example Check Whether the Given Year is Leap Year or Not in Java Java 8 forEach() Array Example Java 8 forEach() Map Example Java 8 forEach() Set Example Java 8 forEach() List Example Getting current date and time with Clock Convert LocalDate to Date in Java Convert LocalDateTime into Date in Java Connvert java.util.Date to java.time.LocalDateTime Example Convert java.util.Date to java.time.LocalDate Example Duration Between Two LocalDate in Java Java Convert ZonedDateTime to String Example Convert String to ZonedDateTime in Java Compare ZonedDateTime Objects in Java How to Get Hour, Minute, Second from ZonedDateTime in Java Convert ZonedDateTime to LocalTime Example Convert ZonedDateTime to LocalDateTime in Java Java ZonedDateTime now() and of() Method Example Convert LocalDateTime to LocalTime in Java Convert LocalDateTime to LocalDate in Java Compare LocalDateTime Objects in Java Java LocalDateTime - Get Hour, Minute and Second How to Get Day Month and Year from LocalDateTime in Java Java LocalDateTime now() Method Example How to Get Current Date Time in Java Convert LocalDate to String in Java Convert String to LocalDate in Java Java LocalDate isLeapYear() Method Example How to Get Number of Days from Month and Year using LocalDate in Java Compare Java LocalDate Objects Example How to Add Days Weeks Months and Years to LocalDate in Java How to get Day Month and Year from LocalDate in Java Java LocalDate now() Method Example - Get Current Date and Specific Date Convert LocalTime to String in Java Convert String to LocalTime in Java Java LocalTime isBefore() and isAfter() Method Example How to Compare Time in Java Java 8 - LocalTime getHour(), getMinute(), getSecond() and getNano() Example Java LocalTime now() Method Example - Get Current Time and Specific Time Java 8 Get Local Date Time in All Available Time Zones How to get year, month, day, hours, minutes, seconds and milliseconds of LocalDateTime in Java 8? How to get year, month, day, hours, minutes, seconds and milliseconds of Date in Java? Difference between Two Dates in Java Create LocalDateTime from LocalDate and LocalTime in Java Java 8 Stream
Comments
Post a Comment