Combine multiple lists in Java

后端 未结 4 1073
故里飘歌
故里飘歌 2020-12-28 12:54

If I want to make two lists into one in Java, I can use ListUtils.union(List list1,List list2). But what if I want to combine multiple lists?

This works

4条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-28 13:35

    Java 8 has an easy way of doing it with the help of Stream API shown in the code below. We have basically created a stream with all the lists , and then as we need the individual contents of the lists, there is a need to flatten it with flatMap and finally collect the elements in a List.

    Listlist1=Arrays.asList(1,2,3);
    Listlist2=Arrays.asList(4,5,6);
    Listlist3=Arrays.asList(7,8,9);
    Listlist4=Arrays.asList(10,0,-1);
    List newList = Stream.of(list1, list2, list3,list4)
                                          .flatMap(Collection::stream)
                                          .collect(Collectors.toList());       
     System.out.println(newList); // prints [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, -1]
    

提交回复
热议问题