java stream.collect如何進(jìn)行類(lèi)型轉(zhuǎn)換

小樊
84
2024-09-05 16:22:08

在Java中,使用Stream API的collect()方法可以將流中的元素收集到一個(gè)集合中。要進(jìn)行類(lèi)型轉(zhuǎn)換,你需要使用map()方法將流中的元素轉(zhuǎn)換為目標(biāo)類(lèi)型,然后再使用collect()方法將它們收集到一個(gè)集合中。

以下是一個(gè)示例,演示了如何將一個(gè)Stream<String>轉(zhuǎn)換為Stream<Integer>,然后將其收集到一個(gè)List<Integer>中:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> stringList = Arrays.asList("1", "2", "3", "4", "5");

        // 使用map()方法將Stream<String>轉(zhuǎn)換為Stream<Integer>
        List<Integer> integerList = stringList.stream()
                .map(Integer::parseInt)
                .collect(Collectors.toList());

        System.out.println(integerList);
    }
}

在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)包含字符串的列表stringList。然后,我們使用stream()方法創(chuàng)建了一個(gè)Stream<String>。接下來(lái),我們使用map()方法將流中的每個(gè)字符串元素轉(zhuǎn)換為整數(shù),使用Integer::parseInt方法引用。最后,我們使用collect()方法將轉(zhuǎn)換后的整數(shù)流收集到一個(gè)List<Integer>中。

運(yùn)行此代碼將輸出以下內(nèi)容:

[1, 2, 3, 4, 5]

這表明我們已成功地將Stream<String>轉(zhuǎn)換為Stream<Integer>,并將其收集到一個(gè)List<Integer>中。

0