ArrayList中removeAll和clear的区别(无区别)
removeAll会直接调用此方法,传入list和false,因中间的逻辑都不会走(如果由retainAll方法调用,则会走这些逻辑判断),所以只需要看finaly中的最后一个if条件,w=0,通过循环将数组中的值全部变为null,同时将数组的长度也设置为0
![](https://app.yinxiang.com/shard/s64/res/977f4252-45f4-41c7-b55f-ccd38f4d716d/1560498040%281%29.jpg)
![](https://img2018.cnblogs.com/blog/1426594/201906/1426594-20190619153115179-552358844.png)
clear方法如下,故并没有区别,只有modCount的次数会不一样,clear的modCount次数会+1,而removeAll的modCount的次数会加list.size
![](https://app.yinxiang.com/shard/s64/res/05c1ce84-2f55-4dd8-b4c7-33ad89ed7c5e/362ER44JV_HUQH4%5BOUE%402P9.png)
![](https://img2018.cnblogs.com/blog/1426594/201906/1426594-20190619153023679-1499116694.png)
博客链接:https://www.cnblogs.com/gqymy/