Коллекция Map из котов

  • 2
  • Недоступна
Мы тут решили собрать коллекцию котов, и составить для неё правильный КОТолог. В этой программке кто-то уже потрудился написать класс Cat с полем имя (name). Наша задача — создать коллекцию Map, и добавить в неё 10 котов. Для начала хватит. В качестве ключа, как вы, наверное, уже догадались, следует использовать имя кота.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (289)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
27 июля, 10:20
Согласен что не EASY. Сначала тупил как вернуть значение. Потом тупил почему оно работает. Так и не понял. Наверное дальше станет ясней - недопонимания в работе классов дают о себе знать)
Игорь11 уровень, Краснодар
17 июля, 13:04
что то задачка на easy не тянет... 🤓
Вера9 уровень
16 июля, 16:49
Map<String, Cat> map = addCatsToMap(cats); пожалуйста, что означает эта строчка?
Sergei Fedorov12 уровень, Санкт-Петербург
18 июля, 11:24
эта строчка вызывает метод addCatsToMap(cats); и передает в него массив cats
Максим Дудин9 уровень, Калининград
2 июля, 21:40
gbkznm в "качестве ключа использовать имя кота", а всё думал с какого.... не корректно работает map.put("имя", new Cat(cats[i])); выводило только последнее " имя - гарфи " т.е. у меня ключ всегда был один и тот же, и получается в цикле от i= 0 до i < cats.length, он не добавлял значение в список, а затирал следующим именем предыдущее.... в итоге в списке оставалось только последнее имя... Или я не прав? И как-то не разу это не EASY... (( если бы присутствовал пример вывода "васька - ВАСЬКА" было бы намного проще.
Aleks15 уровень, Москва
29 июня, 11:32
Создал колекцию заполнил её через цикл, при помощи code.put(cats[i], new Cat(cats[i])); вернул коллекцию. Всё решение)
Антон15 уровень, Санкт-Петербург
29 июня, 20:54
Спасибо тебе добрый человек! А то я голову сломал, как в map засунуть переменную объекта, в котором полем будет соответствующая String. А решение оказалось на удивление простым и элегантным.
Bogdan9 уровень
28 июня, 15:00
Задача заработала и проверку прошла нормально, но я так и не понял о переопределенных методах, объясните кто в теме - где в программе вызывается этот метод toString переводящий регистр?
Aleks15 уровень, Москва
29 июня, 11:29
в самом конце кода, принимает значения поля нэйм и переводит в верхний регистр
Bogdan9 уровень
29 июня, 16:25
То есть он не вызывается, а просто отрабатывает в конце кода, я правильно понял?
Andrii Plishchuk16 уровень, Киев
14 июля, 12:48
И я этого не понял. То, что toString переопределен в самом низу это да, но чтобы он отработал его же нужно где-то в коде метода main вызвать. И как же это тогда работает🤔?
Sunrise 12 уровень, Харьков
30 июля, 07:53
он похоже вызывается когда создается новый кот
Andrii Plishchuk16 уровень, Киев
30 июля, 10:07
Нашел ответ на свой вопрос тут на 5:30.
Алина11 уровень, Москва
23 июня, 17:02
у меня почему-то не заработал нормально обычный цикл for(int i =0; i <cats.length, i++) в методе addCats... почему-то IDEA подсвечивала красным i++, требуя объявить новую переменную. Кто-нибудь знает, почему может быть такое? p.s. в итоге использовала цикл for each, но вопрос с i не дает покоя
Юрий9 уровень, Минск
30 июня, 13:31
если ты копировала из программы, то у тебя вместо точки с запятой стоит просто запятая ; i++ ----> , i++
Алина11 уровень, Москва
30 июня, 13:45
да, уже сама заметила потом. спасибо) в этот день было затмение, видимо)))
Ayrat11 уровень, немосква
21 июня, 14:19
Адски тупил. Потом понял, что отталкиваться надо от массива с кошачьими именами в кавычках. делать для него forEach и внутри этого цикла засовывать во вновь созданную Мар элементы кошачьего массива - в качестве ключей, а new Cat - в виде значений.
Mikhail Lazarau16 уровень, Гродно
14 июня, 12:08
Если вы пришли сюда, то знайте, что валидатор хочет видеть в строке: {имя кота} - {ИМЯ КОТА} (рыжик - РЫЖИК) Поэтому какое-то случайно выбранное имя, как в коде ниже, не подойдет
map.put((cats[i]),new Cat("name"+i));
Alexander12 уровень, Днепр
9 июня, 22:02
В какой-то лекции говорилось, что если в классе используется метод toString, то при выводе такого класса на экран будет использоваться именно этот метод. Как по мне, всё довольно ясно и понятно, не бейте )))