[英]Java get elements that are not in an arraylist
我正在尝试将用户添加到模型中。 我想补充凡在用户MembersArray
但不是在membersAvailableArray
。
MembersAvailableArray =该类中的所有成员。
MembersArray =所有成员
我正在尝试获取MembersArray
所有成员,但不是MembersArray
所有membersAvailableArray
DefaultListModel<String> model2 = new DefaultListModel<>();
for(Member allMems: MembersArray)
{
for(Member mems: membersAvailableArray)
{
if(!allMems.getUsername().equals(mems.getUsername()))
{
model2.addElement(allMems.getFirstName() + " " + allMems.getLastName());
}
}
}
availableMembersJList.setModel(model2);
您无需在此处进行任何循环,只需执行一些不错的旧“全部”操作即可:
ArrayList<Member> membersToAdd = members.clone();
membersToAdd.removeAll(availableMembers);
现在, membersToAdd
具有您需要添加的所有成员。
如果您碰巧拥有Java 8,则有一种更简单的方法可以做到这一点:
members.stream()
.filter(p->!availableMembers.contains(p))
.forEach(p->model2.addElement(p));
尝试这种棘手的方法,将所有内容添加到ArrayList
然后删除不需要的内容
ArrayList<Member> tmp = new ArrayList<Member>();
tmp.addAll(MembersArray);
tmp.removeAll(membersAvailableArray);
for(Member allMems: tmp){
model2.addElement(allMems.getFirstName() + " " + allMems.getLastName());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.