retainAll()方法的介绍与示例
1. retainAll()方法的定义和作用
在Java中,retainAll()
方法是集合类中的一个方法,用于从调用该方法的集合中保留与另一个集合中相同的元素,删除集合中不同的元素。这个方法会修改原始集合,将其中不在另一个集合中的元素删除,只保留相同的元素。
retainAll()
方法的定义如下所示:
其中,c
表示一个集合,代表与调用该方法的集合进行比较的另一个集合。返回值为布尔类型,表示是否对调用该方法的集合进行了修改。如果调用该方法的集合被修改了,返回true
;如果没有进行修改,返回false
。
2. retainAll()方法的使用示例
为了更好地理解retainAll()
方法的作用,下面通过几个示例来演示其用法。
示例1:保留两个集合中相同的元素
运行以上示例代码,输出如下:
从输出可以看出,调用retainAll()
方法后,list1
中只保留了与list2
相同的元素3
、4
和5
,其他元素被删除了。同时,返回值为true
,表示调用该方法后,list1
被修改了。
示例2:保留集合中的重复元素
运行以上示例代码,输出如下:
从输出可以看出,调用retainAll()
方法后,set
中保留了重复的元素banana
,并按照插入的顺序输出。其他元素顺序并没有发生改变。同时,返回值为true
,表示调用该方法后,set
被修改了。
3. retainAll()方法的注意事项
在使用retainAll()
方法时,需要注意以下几点:
- 执行
retainAll()
方法的集合会被修改,原始数据会发生变化; - 如果传入的集合
c
中有与调用该方法的集合重复的元素,也会被保留下来; - 当集合中没有相同的元素时,调用
retainAll()
方法会导致调用该方法的集合变为空集合; - 如果集合中的元素支持修改操作,修改操作不会影响
retainAll()
方法的结果。
综上所述,retainAll()
方法是一个有用的集合操作方法,可以方便地保留集合中与另一个集合相同的元素,是在处理数据时常用到的重要方法。