Java - 如何遍历对象数组列表并将满足特定条件的元素添加到另一个对象数组列表

卢克·吉布森

我有一个 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());
        }
    }
麦克风

几个问题:

  1. 我认为您在每个循环中都会获得一个新的迭代器。
  2. next()当您打算获取同一个对象时调用两次,获取两个后续对象。

试试这个而不是你的 while 循环:

for (User u : myUserGroup.userList) {
  if (u.getUserType().equals("admin")) {
    administrators.userList.add(u);
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何基于使用Java流输入文件的字符对象添加到一个二维数组

Java的如何直接将项目添加到类,而不是一个数组对象

Java的8的foreach添加到新的名单,如果第二列表中的一个项目满足条件并返回一个新的列表

对象添加到包含在第一的类属性之一,Java的另一个对象

根据另一个列表中对象的字段值从列表中删除元素-JAVA

Java-如何将一个对象添加到另一个对象的列表中

将一个列表添加到Java中的另一个列表?

通过与Java中的另一个数组进行比较,从对象列表中删除元素

Java 8-如何从另一个列表中的对象设置列表中的对象?

使用Java流从另一个对象列表更新对象列表

如何在Java中将数据从一个对象列表复制到另一个对象?

如何从数组中查找项目并将其添加到列表中(Java)

Java 8如何处理一个列表中的对象并将其收集到另一个列表中?

如何在Java中将元素的值从一个数组列表分配和存储到另一个数组列表

Java 8在对象列表中找到匹配的元素,其中每个对象都有另一个对象

如何在Java 8中迭代对象数组列表并设置为另一个对象列表?

如何用Java中的另一个对象的属性对对象列表进行排序?

在JAVA中将列表对象添加到另一个列表中

Java8流-比较两个列表的对象值并将值添加到第一个列表的子对象?

如何使数组列表在另一个类java中被调用

Java将值添加到另一个类的数组

如何在另一个类Java中将对象添加到数组

Java - 将 TextField 中的值添加到另一个类的对象构造函数

Java - 迭代两个列表,比较然后添加到另一个列表

如何使用 Java 8 lambdas 将对象添加到另一个列表内的列表中

Java:仅当其中一个元素不存在时,如何将 JSON 对象添加到 JSON 数组

如何在 rx Java 中将一个对象的列表转换为另一个对象

在Java中,如果满足条件,如何从迭代之间的对象列表中删除一个对象并处理其余对象

将元素从一个二维数组添加到另一个二维数组 Java