Записываю в итератор первый элемент колекции, удаляю и мне выводится ошибка :
Exception in thread "main" java.lang.IllegalStateException
at java.base/java.util.HashMap$HashIterator.remove(HashMap.java:1609)
at com.javarush.task.task08.task0819.Solution.main(Solution.java:18)
Не могу понять что за ошибка и почему он не удаляет итератор
код:
public class Solution {
public static void main(String[] args) {
Set<Cat> cats = createCats();
//напишите тут ваш код. step 3 - пункт 3
Iterator<Cat>i=cats.iterator();
i.remove();
printCats(cats);
}
public static Set<Cat> createCats() {
//напишите тут ваш код. step 2 - пункт 2
Set<Cat> cats = new HashSet<>();
cats.add(new Cat());
cats.add(new Cat());
cats.add(new Cat());
return cats;
}
public static void printCats(Set<Cat> cats) {
// step 4 - пункт 4
for(Cat cat:cats) System.out.println(cat);
}
// step 1 - пункт 1
public static class Cat{
}
}