Несколько примеров Java 8 для получения примитива int
из IntStream
.
1. Внутренний поток -> int
package com.mkyong; import java.util.Arrays; import java.util.OptionalInt; import java.util.stream.IntStream; public class Java8Example1 { public static void main(String[] args) { int[] num = {1, 2, 3, 4, 5}; //1. int[] -> IntStream IntStream stream = Arrays.stream(num); // 2. OptionalInt OptionalInt first = stream.findFirst(); // 3. getAsInt() int result = first.getAsInt(); System.out.println(result); // 1 // one line System.out.println(Arrays.stream(num).findFirst().getAsInt()); // 1 } }
Выход
1 1
package com.mkyong; import java.util.Arrays; import java.util.OptionalInt; import java.util.stream.IntStream; public class Java8Example2 { public static void main(String[] args) { int[] num = {1, 2, 3, 4, 5}; //1. int[] -> IntStream IntStream stream = Arrays.stream(num); // 2. OptionalInt OptionalInt any = stream.filter(x -> x % 2 == 0).findAny(); // 3. getAsInt() int result = any.getAsInt(); System.out.println(result); // 2 or 4 } }
Выход
2 or 4
2. Instream ->int[] или целое число[]
package com.mkyong; import java.util.Arrays; import java.util.stream.IntStream; public class Java8Example3 { public static void main(String[] args) { int[] num = {1, 2, 3, 4, 5}; IntStream stream = Arrays.stream(num); // IntStream -> int[] int[] ints = stream.toArray(); IntStream stream2 = Arrays.stream(num); // IntStream -> Integer[] Integer[] integers = stream2.boxed().toArray(Integer[]::new); } }
Рекомендации
- Java 8 – Как преобразовать внутренний поток в целочисленный массив
- Входящий поток в поток()
Оригинал: “https://mkyong.com/java8/java-8-how-to-convert-intstream-to-int-or-int/”