从列表中删除另一个列表中不存在的所有对象

阿玛

我有两个清单

    List<Map<String,Object>> list1 =  new ArrayList<Map<String,Object>>();
    List<Map<String,Object>> list2 =  new ArrayList<Map<String,Object>>();

    HashMap<String, Object> hm = new HashMap<String, Object>();
    hm.put("1", new Long(1L));
    HashMap<String, Object> hm2 = new HashMap<String, Object>();
    hm2.put("2", new Long(2L));
    HashMap<String, Object> hm3 = new HashMap<String, Object>();
    hm3.put("3", new Long(3L));
    HashMap<String, Object> hm4 = new HashMap<String, Object>();
    hm4.put("4", new Long(4L));

    list1.add(hm);
    list1.add(hm2);
    list1.add(hm3);
    list1.add(hm4);

    HashMap<String, Object> hm1 = new HashMap<String, Object>();
    hm1.put("1", new Long(1L));
    HashMap<String, Object> hm5 = new HashMap<String, Object>();
    hm5.put("2", new Long(2L));

    list2.add(hm1);
    list2.add(hm5);

我想从列表1中删除另一个列表2中不存在的所有对象,
我的预期输出是list1 -- [{2=2, 1=1}]

我可以遍历list1并可以检查元素是否存在,然后什么也不做就删除该元素。但是我想知道是否有更好的方法或更简单的代码?

Boann

Collection.retainAll方法正是出于该目的存在:

仅保留此集合中包含在指定集合中的元素。换句话说,从此集合中删除所有未包含在指定集合中的元素。

用法是:

list1.retainAll(list2);

但是,除非您使用Sets而不是Lists ,否则它可能不会比单纯的迭代方法更有效

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何基于另一个列表中不存在的属性的所有元素

如何从R中另一个列表中不存在的列表中删除对象

删除另一个列表中存在的所有列表对象

根据元素名称删除另一个列表中不存在的列表元素

如何删除另一个列表中不存在的值?

找出另一个列表中不存在的数组列表的元素

删除并预留列表中不存在于另一个向量中的向量的元素

python pandas添加了另一个列表中不存在的多列

获取另一个表中不存在的所有项目

SQLite查询选择另一个表中不存在的所有记录

选择另一个表中不存在的所有记录Laravel

如何从列表中查找r中另一个列表中不存在的元素

如何使用Google脚本从列表中返回另一个列表中不存在的值

如果不存在于另一个数组中,如何删除数组中的对象

检查列表是否包含另一个列表中存在的所有类型的元素

如何获取Django ORM中另一个模型中不存在的查询列表?

如果另一个列表中不存在值,则从字典列表中生成一个列表

如何通过另一个列表中的元素中不存在的属性值过滤一个列表中的元素?

一个如何删除对象中JavaScript中不存在于数组中的所有键?

另一个对象中的对象在单元之间不存在Delphi

如何获取另一个数组中不存在的数组的所有项目

从一个列表中删除所有遵守另一个列表影响的条件的节点

如何从另一个对象数组更新一个对象数组中不存在的值?

如何检查另一个列表中列表的所有三个元素是否存在

为什么我无法选择一个表中不存在于另一个表中的所有记录?

从列表中删除基于ID成员的另一个列表中存在的项目

删除另一个数组列表中存在的数组列表中的元素

检查对象列表是否在另一个对象列表中已经存在

sharepoint工作流,如果尚不存在,则可以在另一个列表中创建一个新项目