1. Introduction
Java Streams provide a modern approach to iterating over collections and arrays with powerful operations like forEach(). This method allows developers to execute a specific action on each element of a stream, making it a staple for processing collections efficiently and concisely. The forEach() method is particularly useful for executing side-effects such as printing out elements or storing results in a non-stream result container. In this tutorial, we will explore how to utilize the forEach() method in Java Streams, providing insights into its practical applications and benefits.
Key Points
1. forEach() is a terminal operation that consumes the stream to apply a given action to each element.
2. It is typically used for its side-effect capabilities, such as modifying an external variable or interacting with external services.
3. Unlike other terminal operations, forEach() does not return a result, making it ideal for operations that don't require a resultant collection or value but need to enact changes or perform actions.
2. Program Steps
1. Import the necessary Java utilities.
2. Create a collection of elements.
3. Convert the collection into a stream.
4. Apply the forEach() method to perform an action on each element.
5. Print results to demonstrate the side effects.
3. Code Program
import java.util.Arrays; import java.util.List; public class StreamForEachExample { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Diana"); // Step 3: Convert the list to a stream System.out.println("Names in the list:"); // Step 4: Apply forEach to print each element names.stream().forEach(name -> System.out.println(name)); } }
Output:
Names in the list: Alice Bob Charlie Diana
Explanation:
1. A List of String is created containing several names. This list serves as the source for the stream.
2. names.stream() converts the list into a stream, allowing stream operations to be performed on its elements.
3. The forEach() method is applied with a lambda expression name -> System.out.println(name), which specifies the action to be taken on each element. Here, it prints each name to the console.
4. The output demonstrates that each element of the stream is accessed and processed individually. The forEach() operation ensures that every element in the original list is outputted to the console, showcasing its utility in applying functions to elements of a stream sequentially.
5. This example highlights how forEach() can be used to interact directly with each element of a stream without altering the stream's content, making it ideal for logging, debugging, or other operations that require access to individual elements without transformation.
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