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

  • 5
  • Недоступна
Мы тут решили собрать коллекцию котов, и составить для неё правильный КОТолог. В этой программке кто-то уже потрудился написать класс Cat с полем имя (name). Наша задача — создать коллекцию HashMap, и добавить в неё 10 котов. Для начала хватит. В качестве ключа, как вы, наверное, уже догадались, следует использовать имя кота.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (159)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Евгений9 уровень, Санкт-Петербург
25 мая, 18:53
Сначала хотел понять и пробовал без цикла(for). В ручную создал 10 new Cat`ов и по одному добавил в HashMap. Не прошло! Стоило все загнать в цикл - сработало. Странно все это..
KarlNogebator13 уровень, Москва
21 мая, 10:19
Вот вроде бы и понятно, как работать с мапами всякими, но читаешь условия, и чувствуешь себя тупорылым на все 146% Авторы специально так условия задач формулируют? Типа поржать потом над тупыми в комментах?
Гаврила Ложкин9 уровень, Москва
18 мая, 10:10
"Метод addCatsToMap() должен добавлять в коллекцию всех котов из массива String[] cats, согласно условию." В массиве явно указано 10 имен, какого черта я должен условие в цикле делать i < cats.length ? Не совсем очевидное условие.
Sergey Rudeshko9 уровень, Москва
24 мая, 10:53
такая же фигня... Явно задание противоречит условию
Ivan8 уровень, Нижний Новгород
10 июня, 05:31
Неявно... Просто у курса такой метод... Формулировать хотелки неявно... Это значит, что из множества возможных решений надо выбирать одно подразумеваемое, а другие, также работающие будут давать сбой... Иногда вообще возникает ощущение, что виртуальная машина кривая, а люди алгоритмы вручную одобряют, по так называемой временной технологической схеме...
Дмитрий11 уровень
14 мая, 15:00
В методе addCatsToMap при добавлении нового элемента в качестве ключа присваивается ссылка из массива cats или просто строка?
Дмитрий20 уровень
5 мая, 14:22
Пришлось перерешать все задачки, потом только въехал про котов.
Vlad Lukiyanchuk14 уровень
28 апреля, 11:35
Мы не вызывали ToString() почему тогда он вызывается? (борис - БОРИС)
Valen10 уровень, Днепр
15 мая, 16:27
Как я это понимаю. Мы в System.out.println пытаемся вывести на экран значение pair.getValue(). А т.к. это объект (наш созданный кот), он автоматически конвертится в строку. А т.к. метод toString мы переопределили в программе (чтоб капсом имя выводилось), он и срабатывает.
Гаврила Ложкин9 уровень, Москва
18 мая, 10:05
если метод toString() переопределен, то он по умолчанию используется при выводе объекта на экран, его не надо вызывать.
Yaroslav Tikhonov14 уровень, Санкт-Петербург
27 апреля, 08:41
После создания catMap вас спасет всего одна строчка)
for(String x : cats) catMap.put(x, new Cat(x));
Yaroslav Tikhonov14 уровень, Санкт-Петербург
27 апреля, 08:42
return catMap;
не забудьте только)
Sherlock040410 уровень, Москва
16 мая, 17:43
Откуда ты это все понял?) Почему твой пример идеально все возвращает, а мой нет? for(int i = 0; i < cats.length; i++) { map.put("Kitty", new Cat(cats[i])); } return map;
Zhenya Kononov8 уровень, Санкт-Петербург
позавчера, 09:31
может быть дело в названии карты map, мы в методе создаем новую коллекцию типа Map c новым названием
wvfenix8726 уровень, Москва
20 апреля, 16:53
Обратите внимание, ВСЕХ котов это значит, не i<10, a i<cast.length!!!! У разработчиков очень своеобразное чувство правильного.
Rita Ashkenazi17 уровень
24 апреля, 16:22
Спасибоооооо
P4radox18 уровень, Москва
17 марта, 23:19
Добавьте 10 котов, сказано сделано i=0; i<10; i<i++. Эээ.... друг ты это не правильно понял условия, мы требуем, чтобы ты довил всех котов.... всех... всех. Ей богу эти коты из массива, как арабы в европу прут.
Demid13 уровень
17 марта, 05:28
может кто объяснить почему код
HashMap <String, Cat> catsMap = new HashMap<>();
является каноничным, а вот этот:
Map catsMap = new HashMap<String, Cat>();
является не валидным? в чем разница?
Rinata9 уровень
3 апреля, 11:57
разве не потому, что после Map не указан тип элементов в коллекции?
Haumi17 уровень, Санкт-Петербург
18 апреля, 20:54
Map catsMap = new HashMap<String, Cat>(); думаю вот так было бы куда лучше: Map<> catsMap = new HashMap<String, Cat>();