📘 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
In this guide, you will learn about the Stream concat() method in Java programming and how to use it with an example.
1. Stream concat() Method Overview
Definition:
The Stream.concat() method is a static utility method that is used to concatenate two streams into a single stream. The resulting stream will contain elements from both input streams in the order they appear.
Syntax:
static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b)
Parameters:
- a: the first stream.
- b: the second stream.
Key Points:
- It's a static method and does not operate on a stream instance.
- It is an intermediate operation, meaning the concatenation does not happen immediately. Instead, the operation is executed only when a terminal operation is invoked on the concatenated stream.
- If either stream is parallel, the resulting stream is also parallel.
- Closing the concatenated stream closes both input streams.
- Concatenation is lazy, meaning elements are consumed from the input streams as they are required.
- Care should be taken when using infinite streams with concat, as it can lead to unintended infinite sequences.
2. Stream concat() Method Example
import java.util.stream.Stream;
public class StreamConcatExample {
public static void main(String[] args) {
Stream<String> fruitsStream = Stream.of("Apple", "Banana", "Cherry");
Stream<String> veggiesStream = Stream.of("Artichoke", "Broccoli", "Carrot");
// Concatenate the two streams
Stream<String> concatenatedStream = Stream.concat(fruitsStream, veggiesStream);
// Print the concatenated stream
concatenatedStream.forEach(System.out::println);
}
}
Output:
Apple Banana Cherry Artichoke Broccoli Carrot
Explanation:
In the provided example:
We have two streams, one containing fruit names and another containing vegetable names.
Using Stream.concat(), we concatenate these two streams into a single stream.
We then print the concatenated stream, which first displays fruits followed by vegetables.
Comments
Post a Comment
Leave Comment