您的位置:

使用list.retainAll实现集合交集

一、什么是集合交集

在用Java进行编程时,经常需要操作集合数据。在这个过程中,我们会经常碰到一个问题,比如想要得到两个集合的交集。所谓集合交集,指的是包含两个集合中共同元素的一个新集合。在实际编程时,常常需要根据某些条件对两个集合进行筛选并取其交集。

二、如何使用list.retainAll实现集合交集

使用list.retainAll方法可以方便地实现两个集合的交集。这个方法用于对两个列表(list)进行筛选操作,将第一个列表中不在第二个列表中的元素删除,保留相同的元素。例如:

List list1 = new ArrayList(Arrays.asList("a", "b", "c"));
List list2 = new ArrayList(Arrays.asList("b", "c", "d"));

list1.retainAll(list2);
System.out.println(list1);  // 输出 [b, c]

在这段代码中,我们定义了两个列表list1和list2,然后调用了list1的retainAll方法,并且将list2作为参数传入。接着,我们输出list1的内容,可以看到我们得到了两个列表的交集,即[b, c]。

三、使用代码示例演示list.retainAll实现集合交集

下面的代码示例演示了如何使用list.retainAll实现集合交集。该示例中定义了两个列表,然后通过list.retainAll获取到两个列表的交集。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ListIntersection {

    public static void main(String[] args) {
        // 定义两个列表
        List list1 = new ArrayList(Arrays.asList("a", "b", "c"));
        List list2 = new ArrayList(Arrays.asList("b", "c", "d"));

        // 获取交集
        list1.retainAll(list2);

        // 输出交集
        System.out.println(list1);
    }

}

在这段代码中,我们定义了一个ListIntersection类,并在main方法中进行了测试。首先定义了两个列表list1和list2,并将元素"a", "b"和"c"添加到列表list1中,把元素"b", "c"和"d"添加到列表list2中。然后调用了list1的retainAll方法,并且将list2作为参数传入。最后,我们输出了两个列表的交集。

四、总结

使用list.retainAll方法可以方便地实现两个集合的交集,该方法用于对两个列表进行筛选操作,将第一个列表中不在第二个列表中的元素删除,保留相同的元素。