Java的Set集合中的retainAll()方法

我们来看官方文档:

boolean retainAll​(Collection<?> c)

Retains only the elements in this set that are contained in the specified collection (optional operation). In other words, removes from this set all of its elements that are not contained in the specified collection. If the specified collection is also a set, this operation effectively modifies this set so that its value is the intersection of the two sets.

翻译过来,简要意思就是:仅仅保留这个 set 中同时也在指定的 collection 中(即参数C)的元素。换句话来说,就是移除这个 set 中的所有的不包含在指定的 collection 中的元素。如果指定的 collection 也是一个 set,这个操作实际上就会修改调用这个方法的 set,使之剩下的元素为这两个 set 的交集。

Specified by:
retainAll in interface Collection

Parameters:
c - collection containing elements to be retained in this set

Returns:
true if this set changed as a result of the call

Throws:
UnsupportedOperationException - if the retainAll operation is not supported by this set
ClassCastException - if the class of an element of this set is incompatible with the specified collection (optional)
NullPointerException - if this set contains a null element and the specified collection does not permit null elements (optional), or if the specified collection is null

posted @ 2020-09-24 11:14  模糊计算士  阅读(6341)  评论(0编辑  收藏  举报