java边遍历边删除的问题

来源:互联网 发布:vscode php快捷 编辑:程序博客网 时间:2024/05/18 01:51
  • @outhor hjx
  • @create 2017-11-30 10:20

增强循环 使用迭代器

    /**     * 使用迭代器  (不推荐使用 users.remove() 继续循环List时会报ConcurrentModificationException)     */    public static void list(){        List<User> users = getUsers();        Iterator<User> iterator = users.iterator();        while (iterator.hasNext()){        //删除判断条件            if (iterator.next().getId()>0 && iterator.next().getId()<3){                iterator.remove();            }        }        for (User user:users){            System.out.println(user.getName());        }    }    /**     * 使用迭代器     */    public static void set(){        Set<User> users = getSetUsers();        Iterator<User> iterator = users.iterator();        while (iterator.hasNext()){            //删除判断条件            if (iterator.next().getId()>0 && iterator.next().getId()<3){                iterator.remove();            }        }        for (User user:users){            System.out.println(user.getName());        }    }
原创粉丝点击