项目业务中,我们经常会遇到多个List去重的情况,常规操作下,我们一般这么操作:
@Test
public void testList() {
List<Object> list1 = new ArrayList<>();
list1.add("1");
list1.add("2");
List<Object> list2 = new ArrayList<>();
list2.add("1");
list2.add("3");
List<Object> listAll = new ArrayList<>();
listAll.addAll(list1);
listAll.addAll(list2);
listAll = new ArrayList<>(new LinkedHashSet<>(listAll));
System.out.println(" - -- -" + listAll);
// 输出 - -- -[1, 2, 3]
}
但是,JAVA8以后,我们可以用Stream流了,简单又方便,具体如下:
List idList=new ArraryList();
List idList1=new ArraryList();
List collect = Stream.of(idList, idList1)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
是不是即简洁又方便呢!