Вопрос такой Функционально обе строчки кода одинаковы while (cats.iterator().hasNext()) { System.out.println(cats.iterator().next()); } и for (Cat cat : cats) { System.out.println(cat); } обе должны выводить объекты Cat из множества Однако в первом варианте функция итератора next() не отрабатывает и происходит зацикливание на первом объекте. Ранее ее использовал со стрингами и интами без проблем. Со своим созданным объектом возникли траблы. Из-за чего возникает такая ситуация?