Как преобразовать поток в массив

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В Java поток (stream) представляет собой последовательность элементов, над которыми можно выполнять операции в функциональном стиле. С другой стороны, массив (array) - это объект, хранящий элементы одного типа. В этом лабе мы узнаем, как преобразовать поток в массив в Java.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/FileandIOManagementGroup -.-> java/stream("Stream") subgraph Lab Skills java/arrays -.-> lab-117425{{"Как преобразовать поток в массив"}} java/arrays_methods -.-> lab-117425{{"Как преобразовать поток в массив"}} java/collections_methods -.-> lab-117425{{"Как преобразовать поток в массив"}} java/stream -.-> lab-117425{{"Как преобразовать поток в массив"}} end

Преобразовать поток целых чисел в массив int

В этом шаге мы создадим последовательность целых чисел с использованием метода rangeClosed() класса IntStream и преобразуем ее в массив с использованием метода toArray().

import java.util.stream.IntStream;

public class StreamToArray {
    public static void main(String[] args){
        IntStream integerStream = IntStream.rangeClosed(1, 5);

        // преобразуем поток в массив int
        int[] arr = integerStream.toArray();

        // выводим каждый элемент массива
        for(int e: arr) {
            System.out.println(e);
        }
    }
}

Результат выполнения кода будет следующим:

1
2
3
4
5

Преобразовать поток строк в массив строк

В этом шаге мы создадим поток строковых значений из списка и преобразуем его в массив с использованием метода toArray().

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class StreamToArray {
    public static void main(String[] args){
        Stream<String> stream = List.of("UK", "US", "BR").stream();

        // преобразуем поток строк в массив строк
        String[] strArray = stream.toArray(String[]::new);

        // выводим каждый элемент массива строк
        for(String str : strArray) {
            System.out.println(str);
        }

        // преобразуем массив строк обратно в поток
        Stream<String> stringStream = Arrays.stream(strArray);

        // выводим каждый элемент потока
        stringStream.forEach(System.out::println);
    }
}

Результат выполнения кода будет следующим:

UK
US
BR

UK
US
BR

Резюме

В этом лабе мы узнали, как преобразовать поток в массив в Java. Мы использовали метод toArray() потока для его преобразования в массив. Синтаксис этого метода прост, и он возвращает массив указанного типа. Мы увидели примеры преобразования потоков целых чисел и строк в соответствующие массивы.