Java里面如何求两个集合的交集

Python015

Java里面如何求两个集合的交集,第1张

用Collection提供的retainAll方法,如下是测试代码:

import java.util.*

public class TestList1{

public static void main(String[] args){

List list1=new ArrayList()

list1.add("A")list1.add("B")list1.add("C")

List list2=new ArrayList()

list2.add("B")list2.add("C")list2.add("D")

list1.retainAll(list2)

System.out.println(“交集为:”+list1)

}

}

//测试:

//交集为:[B, C]

1、把多个list放到一个list中,生成 List<List<Object>>结构

2、遍历list,使用java8的规约操作,两两求交集

list.stream().reduce((list1,list2) ->{ list1.retainAll(list2)return list1}).orElse(emptyList())