用户详细信息模型:
private String userName;
private int userSalary;
Run Code Online (Sandbox Code Playgroud)
我有一个用户信息的 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);
Run Code Online (Sandbox Code Playgroud)
我正在尝试遍历数组并找出是否有任何重复的条目基于userName
,从上面的列表中我有两条用户名相同的记录"Robert"
,在这种情况下,我想添加userSalary
并从列表。
预期的新 ArrayList:
userName userSalary
Robert 155
John 100
Run Code Online (Sandbox Code Playgroud)
这可能吗 ??
userDetails.stream()
.collect(Collectors.toMap(
UserDetail::getName,
Function.identity(),
(left, right) -> {
left.setSalary(left.getSalary() + right.getSalary());
return left;
}
))
.values();
Run Code Online (Sandbox Code Playgroud)
这会给你一个Collection<UserDetail>
. ArrayList
显然,如果需要,您可以将其复制到 a 中。
归档时间: |
|
查看次数: |
161 次 |
最近记录: |