先上数据结构,简化版思路:
public List<Map<String, Object>> trees(List<Map<String, Object>> trees){
List<Map<String, Object>> trees=new ArrayList<>();
Map map1=new HashMap();
map1.put("you","holle");
trees.add(map1);
Map map2=new HashMap();
map2.put("you","holle");
trees.add(map2);
Map map3=new HashMap();
map3.put("you","holle2");
trees.add(map3);
List<Map<String, Object>> mapList = newTrees(trees);
return mapList;
}
对于这种集合里面key是一样的,但是值不同的去重,有个简单的笨一点的方法。
public List<Map<String, Object>> newTrees(List<Map<String, Object>> trees){
List<Map<String, Object>> mapList=new ArrayList<>();
Map map=new HashMap();
for (Map<String, Object> tree : trees) {
String you= (String ) tree.get("you");
if (!map.containsKey(you)){
// map不包含此key
map.put(you,you);
mapList.add(tree);
}
}
return mapList;
}
当然你如果要去除重复的key就简单了,map.containsKey(you),该方法是判断是否有该key,有侧返回tuer,列子只是简单的逻辑,实际中根据自己需求延伸一下就能解决复杂的数据格式,
这篇博客介绍如何在Java中对一个包含多个Map的List进行去重操作,特别是当Map中的key相同但value不同时。通过示例代码展示了使用HashMap辅助实现的简单去重方法,将List<Map<String, Object>>中的Map根据特定key值去重。"
113502502,10546772,Python3获取脚本目录的正确方法,"['Python', '脚本执行', '路径管理', 'os模块', 'sys模块']
2789

被折叠的 条评论
为什么被折叠?



