hashset中的retainAll
时间: 2023-09-03 10:13:58 浏览: 111
List和Set使用retainAll方法的比较
retainAll方法是HashSet类中的一个方法,它用于保留HashSet中与指定集合中的元素相同的元素,并从HashSet中移除其他元素。该方法的语法如下:
```java
public boolean retainAll(Collection<?> c)
```
参数c是一个指定集合,表示要与当前HashSet进行比较的集合。该方法返回一个boolean值,表示HashSet是否发生了改变。
当调用retainAll方法时,HashSet会遍历自身的元素,并对比指定集合中的元素。如果HashSet中的元素与指定集合中的元素相同,则保留该元素;否则,将该元素从HashSet中移除。
下面是一个使用retainAll方法的示例:
```java
HashSet<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
HashSet<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
set1.retainAll(set2);
System.out.println(set1); // 输出:[4, 5]
```
在这个示例中,set1和set2都是HashSet对象。我们调用set1的retainAll方法,并将set2作为参数传递给它。在执行完这行代码后,set1中只会保留与set2中相同的元素,即4和5。最后,我们输出set1的内容,得到[4, 5]。
希望这个回答能够帮到你!如果你还有其他问题,请继续提问。
阅读全文