concat () Метод потокового интерфейса в Java API

Опубликовано: 30 Ноября, 2021

Потоковый интерфейс в Java API присутствует в Java.Util.Stream и расширяет интерфейс BaseStream <T, Stream <T>>. Этот интерфейс создается для любого потока объектов и предоставляет множество методов, которые можно использовать для изменения потока этих объектов.

concat () Метод:

Название метода предполагает, что этот метод в основном используется для объединения двух потоков вместе. При конкатенации за содержимым первого потока следует второй поток. Конечные выходные потоки могут быть упорядоченными или параллельными. Это в основном зависит от входных потоков. Главное, что следует отметить в отношении этого метода, заключается в том, что, когда этот объединенный поток закрывается, два связанных потока также закрываются.

Поскольку одновременно только два потока могут объединяться, поэтому несколько потоков могут быть объединены, используя идею о том, что сначала мы объединяем два потока, а затем объединяем этот результат с другим потоком, чтобы, наконец, все потоки были объединены.

Пример:

let s1=stream 1

s2=stream 2

.

.

.

sn=stream n

so concatenation of all the streams can be shown as :

result stream is = concat(s1,concat(s2,concat(………).))

hence the resulting stream has all the streams in the order s1s2s3s4s5s6……sn.

Синтаксис объявления метода показан ниже.

static <T> Stream<T> concat(Stream<? extends T> A , Stream<? extends T> B).

Here we are having two streams of type T namely A and B. Also the main thing to notice here is that this method is a static method.

Ниже представлена реализация постановки задачи:

Пример 1:

Ява

// Implementation of concat() method
// of Stream interface in Java API
import java.util.*;
// importing the necessary classes to
// implement the stream interface
import java.util.stream.Stream;
// save as file named GFG2.java
public class GFG2 {
// main method
public static void main(String[] args) throws Exception
{
// first stream
Stream<Integer> s1 = Stream.of( 1 , 2 , 3 , 4 );
// second stream
Stream<Integer> s2 = Stream.of( 5 , 6 , 7 , 8 );
// concatenation and printing
// of the stream elements.
Stream.concat(s1, s2).distinct().forEach(
ele -> System.out.println(ele));
}
}
Выход
 1
2
3
4
5
6
7
8

Пример 2:

Ява

// Implementation of concat() method
// of Stream interface in Java API
import java.util.*;
import java.util.stream.DoubleStream;
// importing the necessary classes
// to implement the stream interface
import java.util.stream.Stream;
// save as file named GFG2.java
public class GFG2 {
// main method
public static void main(String[] args) throws Exception
{
// first stream
DoubleStream s1
= DoubleStream.of( 1.025 , 2.0687 , 3.01 );
// second stream
DoubleStream s2 = DoubleStream.of( 5.2587410 , 8 );
// concatenation and printing
// of the stream elements.
DoubleStream.concat(s1, s2).distinct().forEach(
ele -> System.out.println(ele));
}
}
Выход
 1.025
2,0687
3,01
5,258741
8.0

Точно так же у нас могут быть разные типы потоков, такие как один для строки, для char и многие другие.

Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .