[Java 8] Chuyển đổi Stream sang mảng

Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về Cách chuyển đổi Stream sang mảng

Trong Java 8, có thể sử dụng .toArray() để chuyển Stream thành mảng.

1. Stream -> String[]
StreamString.java
Java:
package com.mkyong;

import java.util.Arrays;

public class StreamString {

    public static void main(String[] args) {

        String lines = "I Love Java 8 Stream!";

        // split by space, uppercase, and convert to Array
        String[] result = Arrays.stream(lines.split("\\s+"))
            .map(String::toUpperCase)
            .toArray(String[]::new);

        for (String s : result) {
            System.out.println(s);
        }

    }

}
Kết quả
Code:
I
LOVE
JAVA
8
STREAM!
2. IntStream -> Integer[] hoặc int[]
2.1 Chuyển Stream thành Integer[]

StreamInt1.java
Java:
package com.mkyong;

import java.util.Arrays;

public class StreamInt1 {

    public static void main(String[] args) {

        int[] num = {1, 2, 3, 4, 5};

        Integer[] result = Arrays.stream(num)
            .map(x -> x * 2)
            .boxed()
            .toArray(Integer[]::new);

        System.out.println(Arrays.asList(result));
        
    }

}
Kết quả
Code:
[2, 4, 6, 8, 10]
2.2 Chuyển Stream thành int[]

StreamInt2.java
Java:
package com.mkyong;

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

public class StreamInt2 {

    public static void main(String[] args) {

        // IntStream -> int[]
        int[] stream1 = IntStream.rangeClosed(1, 5).toArray();
        System.out.println(Arrays.toString(stream1));

        // Stream<Integer> -> int[]
        Stream<Integer> stream2 = Stream.of(1, 2, 3, 4, 5);
        int[] result = stream2.mapToInt(x -> x).toArray();

        System.out.println(Arrays.toString(result));

    }

}
Kết quả
Code:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]

Cám ơn các bạn đã theo dõi. Hẹn gặp lại các bạn trong các bài viết sau :)

Bài viết tham khảo tại: https://mkyong.com/java8/java-8-how-to-convert-a-stream-to-array
 

Bình luận