gpt4 book ai didi

java - 如何从 ArrayList 中添加和删除重复的对象?

转载 作者:行者123 更新时间:2023-12-01 10:32:21 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





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如果需要,显然。

关于java - 如何从 ArrayList 中添加和删除重复的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60511304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com