Set из котов

  • 10
  • Недоступна
Вам необходимо создать кошачье множество. Для этого нужен класс public static Cat. Затем реализуйте метод createCats, который должен создавать Set из котов и добавлять в него 3 котов. В методе main удалите одного кота из Set cats. И, наконец, реализуйте метод printCats, он должен вывести на экран всех котов, которые остались во множестве.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (302)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Artamon Khakimov
Уровень 29, Казань, Россия
13 августа, 10:13
Про iterator забыл и удаление сделал таким способом.
for (Cat cat : cats) {
            cats.remove(cat);
            break;
        }
Но валидатор принял решение
Дима
Уровень 13, Новая Каховка, Украина
15 июля, 18:24
Кто-то может поделиться ссылочкой на инфу про этот Iterator<Cat> iteratorCats = cats.iterator(); Прост интересно, вот это : Iterator<Cat> iteratorCats = cats.iterator(); cats.remove(iteratorCats.next()); Мы пишем только чтоб присвоить команде cats.iterator() название iteratorCats ????
Андрей Бугаев
Уровень 25
12 июля, 19:57
//нег не понял, но было очень интересно
Денис Кочетов Technical Lead в СП62
20 мая, 07:15
Добавить котов:
for (int i = 0; i < 3; i++) {
    cats.add(new Cat("Cat_" + i));
}
Удалить рандомного кота:
Iterator<Cat> iterator = cats.iterator();
cats.remove(iterator.next());
ARCOS
Уровень 18, Москва, Россия
21 апреля, 07:57
Нашел решение на просторах JavaRush: Если нужно удалить рандомного кота из нашего Set'a, просто приводим значение к массиву и удаляем через индекс:
cats.toArray()[0]
Evgeny Pashko
Уровень 18, Минск, Беларусь
16 апреля, 19:59
🤙 если зачёт, с тебя однострочный лайк cats.remove(cats.iterator().next());
Nick
Уровень 20
11 апреля, 19:41
Вот так удалил
Iterator<Cat> iterator = cats.iterator();
iterator.next();
iterator.remove();
Владислав
Уровень 8, Сыктывкар, Россия
6 апреля, 11:08
Удаление такого вида не принимает
Iterator<Cat> itr = cats.iterator();
        while (itr.hasNext()){
            cats.remove(itr.next());
            break;
        }
Но вот так пропускает, почему?
while (cats.iterator().hasNext()){
            cats.remove(cats.iterator().next());
            break;
        }
хотя в Идее оба варианта работают
Дмитрий
Уровень 31, Москва
22 февраля, 09:35
Сперва думал, надо дать котам имя. Поля + конструктор заводил. Думал чё не так в валидаторе... Всё гораздо банальнее, нужно максимально пустые объекты создавать и выводить.
Юра Суботинов
Уровень 16, Одесса, Украина
18 марта, 13:10
Хотя в условиях это не указано, тоесть допускается создание полей... нигде нет ограничений, но с ними не пускает) Так что народ не заморачивайтесь и просто выводите объекты без тустрингов всяких)
Domingo el Sumeri
Уровень 9, Екатеринбург
16 февраля, 13:30
удалить через итератор не додумался, сделал через ArrayList:
List<Cat> listCat = new ArrayList<>(cats);
cats.remove(listCat.get(1));
Sergey Gavrilov
Уровень 9, Москва
22 марта, 14:51
Не совсем понимаю, когда мы используем List<Cat> listCat = new ArrayList<>(cats); у нас получается две коллекции (Set и ArrayList) или Set преобразовывается в ArrayList? Просто не совсем понимаю, как мы из cats удаляем элемент из listCat.