java 获取两个List集合的交集

时间:2024-10-20 13:15:24

获取两个List集合的交集

可以使用Java中的retainAll方法来获取两个List的交集:

假设有两个List类型的集合list1和list2,代码如下:

List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("orange");

List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("orange");
list2.add("watermelon");

下面是获取两个集合的交集的代码:

List<String> intersection = new ArrayList<>(list1);
intersection.retainAll(list2);
System.out.println(intersection);

输出结果为:

[banana, orange]

其中,retainAll方法会修改intersection集合,使其只包含两个集合的交集。在这个例子中,intersection集合最初是包含list1集合的元素的,然后通过retainAll方法过滤掉不属于list2集合的元素,最终得到两个集合的交集。