Рубрики
Без рубрики

Java 8 – Как преобразовать IntStream в int или int[]

– Java 8 – Как преобразовать IntStream в int или int[]

Несколько примеров 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);

    }

}

Рекомендации

Оригинал: “https://mkyong.com/java8/java-8-how-to-convert-intstream-to-int-or-int/”