【发布时间】:2019-05-29 08:39:32
【问题描述】:
我有一个简单的User 类,它有一个String 和一个int 属性。
我想以这种方式添加两个用户列表:
- 如果字符串等于,则应添加数字,这将是它的新值。
- 新列表应包含所有具有正确值的用户。
像这样:
List1: { [a:2], [b:3] }
List2: { [b:4], [c:5] }
ResultList: {[a:2], [b:7], [c:5]}
User 定义:
public class User {
private String name;
private int comments;
}
我的方法:
public List<User> addTwoList(List<User> first, List<User> sec) {
List<User> result = new ArrayList<>();
for (int i=0; i<first.size(); i++) {
Boolean bsin = false;
Boolean isin = false;
for (int j=0; j<sec.size(); j++) {
isin = false;
if (first.get(i).getName().equals(sec.get(j).getName())) {
int value= first.get(i).getComments() + sec.get(j).getComments();
result.add(new User(first.get(i).getName(), value));
isin = true;
bsin = true;
}
if (!isin) {result.add(sec.get(j));}
}
if (!bsin) {result.add(first.get(i));}
}
return result;
}
但它在列表中添加了很多东西。
【问题讨论】:
标签: java list for-loop arraylist collections