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

  • 10
  • Недоступна
Занесем животных в множества. Сначала создадим классы Cat и Dog, затем — методы createCats и createDogs (возвращают множества с собаками и кошками), метод join, возвращающий конгломерат из множеств собак и кошек. На случай недобрососедства — метод removeCats, удаляющий из pets котов. И ещё — метод printPets, пусть выводит на экран всех обитателей pets.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (105)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Александр14 уровень, Санкт-Петербург
27 июля, 16:06
Почему это хард?
виктор19 уровень, Москва
22 марта, 18:15
Сильно помогла эта статья
АртемGeek25 уровень, Москва
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.*")); (естественно, не прокатило)
Vitaliy15 уровень, Москва
1 апреля, 11:12
pets.removeIf(cats::contains);
7 мая, 14:33
Т.е. здесь намек на использование материала 7 лекции?
Ihor Biedin16 уровень, Днепр
18 июля, 12:11
Thanks!
Pavel Kurashov14 уровень, Новосибирск
11 марта, 09:40
Интересно, по какому принципу этой задаче присвоили уровень HARD - бессмысленная и беспощадная к животным? )
Вадим Кириченко9 уровень, Москва
6 марта, 17:41
Отличная задача. дебаггер решает=)
Дмитрий Ильин16 уровень, Москва
1 марта, 11:41
заметил если делаю перерыв в учебе недельку другую , решение начинает занимать не один день, тяжко вливаюсь обратно
Надежда17 уровень, Новосибирск
5 марта, 16:13
Аналогично. Хватит делать перерывы!
Артём Шунин10 уровень, Москва
25 апреля, 13:03
Мозги полезут если заниматься часов по 8, а если в комментарии полезешь еще и самооценка упадет)))
MartyMcAir17 уровень
12 июня, 15:27
Артём Шунин хорошо подметил).
zyto16 уровень, Москва
26 февраля, 09:28
Сначала думал что по п.5 надо удалять из набора значения определённого типа, уже нагуглил instanceof... а там оказывается просто надо удалить все значения другого массива...
Artem Yaremchuk26 уровень, Омск
14 апреля, 10:46
так же сделал
Валерий17 уровень
26 февраля, 09:23
Сделал с первого раза. Руки сами пишут, а что пишут понять не могу. Смотрю глазами и понимаю, что вообще не понимаю, а задача валидацию проходит. Магия!
Иван14 уровень
6 июля, 19:14
Такая же фигня. Сделал с первого раза, руки пишут, но ничего не понял)
Nordis24 уровень, Санкт-Петербург
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);
Stanislav13 уровень
19 февраля, 19:02
супер полезный комент! без лишней инфы
Natalya Guskova17 уровень, Москва
21 февраля, 10:39
join.addAll(cats); join.addAll(dogs); А у меня не принимает IDEA такой вариант... ругается((
Владимир Павленко22 уровень, Москва
21 февраля, 16:41
import java.util.*; есть?
Alexey Tarakanov35 уровень, Москва
25 февраля, 17:26
Спасибо. Коммент который экономит нервы.
Viktor 17 уровень
15 марта, 18:57
addAll нашел сам removeAll - увидел у Вас в первый раз.. Спасибо!
Андрей10 уровень, Киев
18 марта, 20:06
А я пытался лепить сразу к передаваемым котам собак, не дошло что нужно для них сначала создать "будку".
Konstantin Besednikov14 уровень, Киев
19 апреля, 15:16
про "removeAll()" есть в 7 лекции данного урока.