天天看點

flatmap使用使用場景

使用場景

适用于嵌套list資料結構,想把内部的list資料合并成一個list.。

舉例如下:

public class Test {
    public static void main(String[] args) {
        List<List<String>> list = new ArrayList<>();
        List<String> list1 = new ArrayList<>();
        list1.add("a");
        list1.add("b");
        list1.add("c");

        List<String> list2 = new ArrayList<>();
        list2.add("1");
        list2.add("2");
        list2.add("3");

        list.add(list1);
        list.add(list2);

        List<String> flatList = list.stream().flatMap(l -> l.stream()).collect(Collectors.toList());
        System.out.println(flatList.size());
        System.out.println(flatList);
    }
}
           

上圖所示外層list的元素為list類型,目标是将内部所有list元素扁平化,建構出一個包含所有元素的list。運作結果如下:

flatmap使用使用場景