📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.
🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
The forEach()
method in Java, part of the java.util.stream.Stream
interface, is used to perform an action for each element of the stream. This method is useful for iterating over a stream and applying a specified operation to each element.
Table of Contents
- Introduction
forEach()
Method Syntax- Understanding
forEach()
- Examples
- Basic Usage
- Using
forEach()
with Complex Operations
- Real-World Use Case
- Conclusion
Introduction
The forEach()
method is a terminal operation that takes a Consumer
and applies it to each element of the stream. This method is particularly useful for performing side-effects, such as printing or modifying external data structures.
forEach() Method Syntax
The syntax for the forEach()
method is as follows:
void forEach(Consumer<? super T> action)
Parameters:
action
: AConsumer
that represents the action to be performed on each element of the stream.
Returns:
- This method does not return a value.
Throws:
- This method does not throw any exceptions.
Understanding forEach()
The forEach()
method processes each element of the stream and performs the specified action on it. This is useful for scenarios where you need to iterate over all elements of the stream and apply a specific operation, such as logging or accumulating results.
Examples
Basic Usage
To demonstrate the basic usage of forEach()
, we will create a Stream
of strings and use forEach()
to print each element.
Example
import java.util.stream.Stream; public class ForEachExample { public static void main(String[] args) { Stream<String> stream = Stream.of("apple", "banana", "cherry"); // Use forEach() to print each element stream.forEach(System.out::println); } }
Output:
apple banana cherry
Using forEach()
with Complex Operations
This example shows how to use forEach()
to perform more complex operations on each element of the stream.
Example
import java.util.stream.Stream; public class ForEachComplexExample { public static void main(String[] args) { Stream<String> stream = Stream.of("apple", "banana", "cherry"); // Use forEach() to print the length of each element stream.forEach(s -> System.out.println(s + " has length " + s.length())); } }
Output:
apple has length 5 banana has length 6 cherry has length 6
Real-World Use Case
Logging User Activities
In real-world applications, the forEach()
method can be used to log user activities from a stream of user actions.
Example
import java.util.stream.Stream; public class LogUserActivitiesExample { static class UserAction { String user; String action; UserAction(String user, String action) { this.user = user; this.action = action; } @Override public String toString() { return user + " performed " + action; } } public static void main(String[] args) { Stream<UserAction> actions = Stream.of( new UserAction("Alice", "login"), new UserAction("Bob", "view page"), new UserAction("Charlie", "logout") ); // Use forEach() to log each user action actions.forEach(action -> System.out.println("Logging: " + action)); } }
Output:
Logging: Alice performed login Logging: Bob performed view page Logging: Charlie performed logout
Conclusion
The Stream.forEach()
method is used to perform an action for each element of the stream. This method is particularly useful for iterating over a stream and applying a specified operation to each element, such as printing or modifying external data structures. By understanding and using this method, you can efficiently manage and process streams of values in your Java applications, performing necessary operations on each element as needed.
Comments
Post a Comment
Leave Comment