我有一个 UserGroup 类,它有一个 ArrayList userList。我创建了一个名为“myUserGroup”的类的第一个实例,并用 10 个元素填充它,然后我创建了一个名为“administrators”的第二个实例。我想遍历“myUserGroup”数组列表,如果元素等于“admin”,则将其添加到“administrators”数组列表中。
这是 UserGroup 类:
public class UserGroup {
ArrayList<User> userList;
UserGroup(){
userList = new ArrayList<User>();
public Iterator<User> getUserIterator() {
Iterator<User> iterate = userList.iterator();
return iterate;
}
这是我尝试将元素添加到第二个用户组数组列表的类:
public class Main {
public static void main(String[] args) {
UserGroup myUserGroup = new UserGroup();
myUserGroup.addSampleData();
UserGroup administrators = new UserGroup();
while(myUserGroup.getUserIterator().hasNext()) {
if(myUserGroup.getUserIterator().next().getUserType().equals("admin")) {
administrators.userList.add(myUserGroup.getUserIterator().next());
}
}
几个问题:
next()
当您打算获取同一个对象时调用两次,获取两个后续对象。试试这个而不是你的 while 循环:
for (User u : myUserGroup.userList) {
if (u.getUserType().equals("admin")) {
administrators.userList.add(u);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句