java 8 listMap 根据Listcode 快速去重
要根据List
首先,将List
下面是一个示例代码:
List<Map<String, Object>> list = new ArrayList<>();
// 添加一些示例数据
list.add(new HashMap<String, Object>() {{
put("id", 1);
put("name", "John");
}});
list.add(new HashMap<String, Object>() {{
put("id", 2);
put("name", "Jane");
}});
list.add(new HashMap<String, Object>() {{
put("id", 1); // 重复的数据
put("name", "John");
}});
List<Map<String, Object>> distinctList = list.stream().distinct().collect(Collectors.toList());
// 打印去重后的列表
distinctList.forEach(System.out::println);
运行以上代码,将输出去重后的列表:
{id=1, name=John}
{id=2, name=Jane}
注意,这里的去重是基于Map的equals()和hashCode()方法进行比较的,所以需要确保Map中的键值对是正确实现了这两个方法的。如果Map中的值是自定义对象,需要在自定义对象中重写equals()和hashCode()方法
原文地址: https://www.cveoy.top/t/topic/ivGE 著作权归作者所有。请勿转载和采集!