List 的一个有用的高效的操作 removeAll

Posted 10年 Java程序员,硬核人生!勇往直前,永不退缩!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List 的一个有用的高效的操作 removeAll相关的知识,希望对你有一定的参考价值。

 

 如果有多个list集合,那么 使用 removeAll 可以快速的删除另外一个集合的内容:


 

        List<String> list1 = new ArrayList<String>();
        list1.add("11");
        list1.add("22");
        list1.add("33");
        list1.add("44");
        

        List<String> list2 = new ArrayList<String>();
        list2.add("1");
        list2.add("33");
        list2.add("22");
        list2.add("4");
        list1.removeAll(list2);
        System.out.println(list1); 

// 结果 [11, 44]

 

 

这里, 其实jdk 内部操作是: 先做一个遍历/比较,然后再删除。 相当于是先取出 list1 / list2 的交集X, 然后从list1 , 逐个删除 X的元素。

以上是关于List 的一个有用的高效的操作 removeAll的主要内容,如果未能解决你的问题,请参考以下文章

python list 中 remove 的骚操作/易错点

条目九《慎重选择删除元素的方法》

[LeetCode] 203. Remove Linked List Elements

List<Integer> 去重remove()

List<Integer> 去重remove()

list.remove操作注意点