List 的一个有用的高效的操作 removeAll
2017-05-31 11:52
260 查看
如果有多个list集合,那么 使用 removeAll 可以快速的删除另外一个集合的内容:
这里, 其实jdk 内部操作是: 先做一个遍历/比较,然后再删除。 相当于是先取出 list1 / list2 的交集X, 然后从list1 , 逐个删除 X的元素。
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的元素。
相关文章推荐
- IDENTITY列的一个有用操作
- 操作Excel的一个有用实例及从EXCEL第N行开始取数据
- 用map对一个或者多个list元素操作
- c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出
- 一个可能有用的封闭PGSQL操作的PYTHON函数
- IDENTITY列的一个有用操作
- 无法跨越程序集边界使用程序集“DataCheck, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“List<ILayer>”,因为该类型有一个为嵌入互操作类型的泛型类型参数
- Go的List操作上的一个小“坑”
- Go的List操作上的一个小“坑”
- 一个由List.removeAll()失效引发的思考
- 工控应用中关于刚体旋转操作的一个有用的几何命题及证明
- 一个list,一个数组,如何在相互比较之后进行一些操作
- SSH2做的一个批量操作用--List
- 操作Excel的一个有用实例及从EXCEL第N行开始取数据
- 设计一个整型链表类list,能够实现链表节点的插入、删除、以及链表数据的输出操作。
- IDENTITY列的一个有用操作
- 一个有用的coding checklist(转载自code comple作者公司网站)
- 分享一个有用的js日常操作工具-underscore
- list,set等集合遍历时,不能remove集合中的元素。需要new一个Object或者list,set,里面add需要删除的元素,等集合遍历完了进行remove(Object)或者removeAll(list/set)操作
- c# Array或List有个很实用的ForEach方法,可以直接传入一个方法对集合中元素操作