关于java集合的问题,实在是不知道哪里出错了,解答一下

通过随机数生成20个不同的数放到集合中,留下偶数的数,我的程序中哪一行代码出现了问题
img

img

删除的时候不能在for里面进行删除,这样是不对的,对于集合删除,应该是迭代器对象进行remove


public static void main(String[] args) {
        Vector<Integer> v = new Vector<>();
        Random r = new Random();
        while (v.size() < 20) {
            int i = r.nextInt(35);
            if (!v.contains(i)) {
                v.add(i);
            }
        }
        System.out.println(v);
        Iterator<Integer> iter = v.iterator();
        while (iter.hasNext()) {
            Integer item = iter.next();
            if (item % 2 != 0) {
                iter.remove();
            }
        }
        System.out.println("偶数的个数:" + v);
    }

img

if(i%2!=0) 改成 if(v.get(i)%2!=0) {