Метод map класса IntStream
Метод map класса IntStream применяет
заданную функцию к каждому элементу потока
и возвращает новый поток, состоящий из
результатов применения этой функции. В параметр
мы передаем функцию-преобразователь, которая
принимает целое число типа int и возвращает
целое число типа int. Исходный поток при
этом не изменяется.
Синтаксис
IntStream map(IntUnaryOperator mapper)
Пример
Давайте умножим каждый элемент потока на 2:
import java.util.stream.IntStream;
public class Main
{
public static void main(String[] args)
{
IntStream stream = IntStream.of(1, 2, 3, 4, 5);
IntStream res = stream.map(n -> n * 2);
res.forEach(System.out::println);
}
}
Результат выполнения кода:
2
4
6
8
10
Пример
Давайте возведем каждый элемент потока в квадрат:
import java.util.stream.IntStream;
public class Main
{
public static void main(String[] args)
{
IntStream stream = IntStream.range(1, 6);
IntStream res = stream.map(n -> n * n);
res.forEach(System.out::println);
}
}
Результат выполнения кода:
1
4
9
16
25
Пример
Давайте соберем результаты преобразования в массив:
import java.util.stream.IntStream;
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] res = IntStream.of(1, 2, 3, 4, 5)
.map(n -> n + 10)
.toArray();
System.out.println(Arrays.toString(res));
}
}
Результат выполнения кода:
[11, 12, 13, 14, 15]