先把多个list放到一个list中,生成 List<List>结构
栗如:
List<List<AAA>> strArrayList = new ArrayList<>();
strArrayList.add(AAAList);
然后使用java8的规约操作,两两求交集
strArrayList.stream().reduce((list1,list2) -> { list1.retainAll(list2); return list1;}).orElse(emptyList());
使用stream流获取两个list取交集
List<AAA> AList = A1List.stream().filter(item ->
BList.stream().map(BBB::getId).collect(Collectors.toList()).contains(item.getId())).collect(Collectors.toList());