/** * @Description 使用Java8的流进行处理,将name相同的对象进行合并,将value属性求和 * @Title merge * @Param [list] * @Return java.util.List<Pool> * @Author Louis */ public static List<Pool> merge(List<Pool> list) { List<Pool> result = list.stream() // 表示name为key,接着如果有重复的,那么从Pool对象o1与o2中筛选出一个,这里选择o1, // 并把name重复,需要将value与o1进行合并的o2, 赋值给o1,最后返回o1 .collect(Collectors.toMap(Pool::getName, a -> a, (o1,o2)-> { // 多个字段就多个set o1.setValue(o1.getValue() + o2.getValue()); return o1; })).values().stream().collect(Collectors.toList()); return result; }
JDK8 将集合中的对象去重合并
最新推荐文章于 2023-09-07 21:49:08 发布