ArrayList中的retainAll和removeAll(JDK1.7)

 

在进行集合操作的时候ArrayList类中有两个非常方便的方法:

 

 

 

 

正如你所见,两个方法同时调用了一个batchRemove方法,

 

 

由于两个操作在进行contains判断时正好是逻辑上相反的关系,所以jdk1.7中对于removeAll 和 retainAll两个操作的共同点进行了抽象,使用一个boolean型参数巧妙的将两个方法合二为一。

 

注: contains方法进行判断的时候是会调用equals方法的,所以如果集合中为Object,那么一定要小心处理hashCode和equals了。

猜你喜欢

转载自himichaelchu.iteye.com/blog/2115022