Java List retainAll 的详解

Java List retainAll 的详解

Java List retainAll 的详解

1. 概述

在Java中,List是一种常用于存储多个元素的有序集合。在某些情况下,我们需要找出两个List中的共同元素,并将其提取出来,这时就可以使用List的retainAll()方法。本文将详细解释List的retainAll()方法的使用及注意事项。

2. retainAll() 方法的定义

在Java中,List接口继承自Collection接口,并在其基础上扩展了一些自身特有的方法。其中,retainAll()方法是其中的一个。其定义如下:

boolean retainAll(Collection<?> c)

retainAll()方法接收一个Collection(包括List)类型的参数c,它会修改当前List,将其仅存在于参数c中的元素移除,保留与参数c中共同出现的元素。

3. 示例

下面给出一个示例,展示了如何使用retainAll()方法来查找共同元素。

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

public class RetainAllExample {
    public static void main(String[] args) {
        List<Integer> list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);

        List<Integer> list2 = new ArrayList<>();
        list2.add(3);
        list2.add(4);
        list2.add(5);
        list2.add(6);

        list1.retainAll(list2);

        System.out.println("共同元素: " + list1);
    }
}

运行结果

共同元素: [3, 4]

从示例中可以看出,我们创建了两个List,分别是list1和list2。然后,我们调用list1的retainAll()方法,将其与list2中共同存在的元素保留下来。在这个示例中,3和4是两个List的共同元素,因此运行结果为[3, 4]。

4. 注意事项

在使用retainAll()方法时,需要注意以下几点:

4.1 参数不能为null

retainAll()方法的参数不能为null,否则将会抛出NullPointerException异常。

4.2 修改当前List

retainAll()方法会直接修改当前List,将其只保留与参数中的集合共同存在的元素,同时移除其他元素。

4.3 保留顺序

保留下来的元素将按照其在原List中的顺序进行排列。

4.4 重复元素

如果参数集合中存在重复的元素,那么保留下来的元素中也会包含相同数量的重复元素。

5. 总结

retainAll()方法是Java List接口的一个实用方法,在某些场景下可以帮助我们快速找到两个List中的共同元素。通过使用retainAll()方法,我们可以轻松地将两个List中仅共同出现的元素提取出来。在使用该方法时,需要注意保证参数不为null,并且理解其会修改当前List以及保留元素的顺序和重复性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程