При компиляции выдаёт
Exception in thread "main" java.util.ConcurrentModificationException
at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1495)
at java.base/java.util.HashMap$KeyIterator.next(HashMap.java:1518)
at com.javarush.task.task08.task0814.Solution.removeAllNumbersGreaterThan10(Solution.java:28)
at com.javarush.task.task08.task0814.Solution.main(Solution.java:36)
Я не правильно использую итератор для изменения коллекции в процессе ее прохождения?
package com.javarush.task.task08.task0814;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/*
Больше 10? Вы нам не подходите
*/
public class Solution {
public static Set<Integer> createSet() {
Set<Integer> set = new HashSet<>();
for(int i = 1; i < 21; i++)
set.add(i);
return set;
}
public static Set<Integer> removeAllNumbersGreaterThan10(Set<Integer> set) {
Iterator<Integer> iterator = set.iterator();
while(iterator.hasNext()){
int a = iterator.next();
if(a > 10)
set.remove(a);
}
return set;
}
public static void main(String[] args) {
}
}