【发布时间】:2015-07-23 19:52:19
【问题描述】:
我有两个列表
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);
我想删除 list1 中不存在于另一个 list2 中的所有对象
我的预期输出是list1 -- [{2=2, 1=1}]
我可以遍历 list1 并且可以检查元素是否存在然后什么都不做删除元素。但我想知道是否有更好的方法或更简单的代码?
【问题讨论】:
-
您使用的是 Java 8 吗?
-
java版本“1.6.0_43”
-
您的意思是同时聚合 HashMaps 的内容吗?还是希望预期的输出为
[{"2"=2L},{"1"=1L}]? -
我打算输出
[{"2"=2L},{"1"=1L}]
标签: java arraylist collections hashmap java-collections-api