java之如何从 ArrayList 中添加和删除重复的对象
Demo
阅读:14
2024-09-03 21:39:00
评论:0
这个问题在这里已经有了答案:
Java - Merge objects of list given a condition
(2 个回答)
去年关闭。
用户详细信息模型:
private String userName;
private int userSalary;
我有一个用户信息的 ArrayList
List<UserDetail> userDetails = new ArrayList<>();
UserDetail user1 = new UserDetail("Robert", 100);
UserDetail user2 = new UserDetail("John", 100);
UserDetail user3 = new UserDetail("Robert", 55);
userdetails.add(user1);
userdetails.add(user2);
userdetails.add(user3);
我正在尝试遍历数组并根据
userName
找出是否有任何重复条目。 , 从上面的列表中,我有两条用户名相同的记录
"Robert"
,在这种情况下,我想加起来
userSalary
并从列表中删除一条记录。
预期的新 ArrayList:
userName userSalary
Robert 155
John 100
这可能吗 ??
请您参考如下方法:
userDetails.stream()
.collect(Collectors.toMap(
UserDetail::getName,
Function.identity(),
(left, right) -> {
left.setSalary(left.getSalary() + right.getSalary());
return left;
}
))
.values();
这会给你一个
Collection<UserDetail>
.您可以将其复制到
ArrayList
如果需要,显然。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。