Метод toArray
Метод toArray класса Stream преобразует
элементы потока в массив. Метод является
терминальной операцией, то есть после его вызова
поток считается использованным и не может быть
применен повторно. Существует две перегрузки
метода. Первая не принимает параметров и возвращает
массив типа Object. Вторая принимает
функцию-генератор IntFunction, которая
создает массив нужного типа и размера.
Синтаксис
stream.toArray()
stream.toArray(generator)
Пример
Давайте преобразуем поток чисел в массив
типа Object, используя перегрузку
без параметров:
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
Object[] res = Stream.of(1, 2, 3, 4, 5).toArray();
for (Object elem : res)
{
System.out.println(elem);
}
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте преобразуем поток строк в массив
типа String[], передав в метод
генератор массива:
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
String[] res = Stream.of("a", "b", "c", "d", "e")
.toArray(String[]::new);
for (String elem : res)
{
System.out.println(elem);
}
}
}
Результат выполнения кода:
"a"
"b"
"c"
"d"
"e"
Пример
Давайте получим длину массива, созданного из потока:
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
Integer[] res = Stream.of(1, 2, 3, 4, 5)
.toArray(Integer[]::new);
System.out.println(res.length);
}
}
Результат выполнения кода:
5