Множество всех животных

  • 5
  • Недоступна
Занесем животных в множества. Сначала создадим классы Cat и Dog, затем — методы createCats и createDogs (возвращают множества с собаками и кошками), метод join, возвращающий конгломерат из множеств собак и кошек. На случай недобрососедства — метод removeCats, удаляющий из pets котов. И ещё — метод printPets, пусть выводит на экран всех обитателей pets.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (99)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
виктор13 уровень, Москва
22 марта, 18:15
Сильно помогла эта статья
АртемGeek13 уровень, Москва
16 марта, 07:43
Думал при удалении начнется самый хард. Уже мысленно подготовился писать итераторы для сравнения...пока, не прочитал про pets.removeAll(cats); - одна строчка=)) Полезные ссылки: Соединение множеств: https://javatalks.ru/topics/29505 Удаление: http://www.cyberforum.ru/java-j2se/thread1756995.html
Max Rabinovich19 уровень, Санкт-Петербург
18 марта, 16:42
Тоже решил почитать про более простое удаление) Перед этим написал тупо регексп
pets.removeIf(element -> element.toString().matches(".*Cat.*")); (естественно, не прокатило)
Vitaliy14 уровень, Москва
1 апреля, 11:12
pets.removeIf(cats::contains);
Pavel Kurashov12 уровень, Новосибирск
11 марта, 09:40
Интересно, по какому принципу этой задаче присвоили уровень HARD - бессмысленная и беспощадная к животным? )
Вадим Кириченко9 уровень, Москва
6 марта, 17:41
Отличная задача. дебаггер решает=)
Дмитрий Ильин13 уровень, Москва
1 марта, 11:41
заметил если делаю перерыв в учебе недельку другую , решение начинает занимать не один день, тяжко вливаюсь обратно
Надежда15 уровень, Новосибирск
5 марта, 16:13
Аналогично. Хватит делать перерывы!
zyto16 уровень, Москва
26 февраля, 09:28
Сначала думал что по п.5 надо удалять из набора значения определённого типа, уже нагуглил instanceof... а там оказывается просто надо удалить все значения другого массива...
Artem Yaremchuk10 уровень, Омск
воскресенье, 10:46
так же сделал
Валерий15 уровень
26 февраля, 09:23
Сделал с первого раза. Руки сами пишут, а что пишут понять не могу. Смотрю глазами и понимаю, что вообще не понимаю, а задача валидацию проходит. Магия!
Nordis17 уровень, Санкт-Петербург
24 февраля, 12:22
У меня вопрос почему именно так нужно прописать. HashSet<Object> obj = new HashSet<>(); obj.addAll(cats); Ведь если напишем так , результат будет то же. Iterator<Cat> iter = cats.iterator(); while (iter.hasNext()){ obj.add(iter.next().toString()); Кто то может доступно объяснить этот момент? И да , метод pets.removeAll(cats); -- Вообще халява. Я там такую схему делал , через Итератор. while (yy.hasNext()){ String p = yy.next().toString(); while (xx.hasNext()){ String l = xx.next().toString(); if (p.equals(l)){ xx.remove(); break;
Владимир Павленко22 уровень, Москва
14 февраля, 18:04
Объеденить join.addAll(cats); join.addAll(dogs); задушитьудалить котов pets.removeAll(cats);
Stanislav10 уровень
19 февраля, 19:02
супер полезный комент! без лишней инфы
Natalya Guskova17 уровень, Москва
21 февраля, 10:39
join.addAll(cats); join.addAll(dogs); А у меня не принимает IDEA такой вариант... ругается((
Владимир Павленко22 уровень, Москва
21 февраля, 16:41
import java.util.*; есть?
Alexey Tarakanov22 уровень, Москва
25 февраля, 17:26
Спасибо. Коммент который экономит нервы.
Viktor 17 уровень
15 марта, 18:57
addAll нашел сам removeAll - увидел у Вас в первый раз.. Спасибо!
Андрей9 уровень, Киев
18 марта, 20:06
А я пытался лепить сразу к передаваемым котам собак, не дошло что нужно для них сначала создать "будку".
Konstantin Besednikov8 уровень, Киев
вчера, 15:16
про "removeAll()" есть в 7 лекции данного урока.
Денис14 уровень, Екатеринбург
10 февраля, 14:45
Вот и новый личный антирекорд подъехал(:
Дмитрий Ильин13 уровень, Москва
1 марта, 11:38
это ты ещё круто продержался, мне такая хрень пару уровней назад выпадала, вот где печаль :)
Евгений Майдуров10 уровень, Новосибирск
17 марта, 19:11
Впервые такое вижу))