Для проверки в main есть два вывода на экран. На скриншоте, представленном ниже можно увидеть, что один кот удалился (первый вывод показал трех котов, второй двух). Почему не проходит валидацию?
package com.javarush.task.task08.task0819;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/*
Set из котов
*/
public class Solution {
public static void main(String[] args) {
Set<Cat> cats = createCats();
createCats();
printCats(cats); // Вывод сета котов до удаления
System.out.println(" "); // разделитель для удобства
Iterator<Cat> it = cats.iterator();
it.next();
it.remove();
it.next();
it.next();
printCats(cats); //Вывод сета котов после удаления первого кота
}
public static Set<Cat> createCats() {
HashSet<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) {
Iterator<Cat> itPrint = cats.iterator();
while (itPrint.hasNext())
System.out.println(itPrint.next());
}
public static class Cat{
}
}