Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Заполнение HashMap


Автор: SiNn3R 3.8.2011, 20:16
Только недавно начал изучать Java, возник вопрос по HashMap. Можно ли как-то так заполнять его значениями:
Код

HashMap<String,String> map = new HashMap<String,String>()
{
    {"a", "avalue"},
    {"b", "bvalue"}
};


Этот код неправильный.

Автор: jk1 3.8.2011, 23:43
Наиболее близкий из возможных вариантов
Код

Map<Integer, String> myMap2 = new HashMap<Integer, String>(){{
            put(1, "one");
            put(2, "two");
        }};

Автор: nc30 4.8.2011, 13:16
Код

Map<String, String> map = new HashMap<String, String>();
map.put("a", "avalue");
map.put("b", "bvalue");

Автор: nc30 5.8.2011, 13:41
Немного оффтоп, но навеяло.

Читаю книгу Роберта Мартина http://www.books.ru/books/chistyy-kod-sozdanie-analiz-i-refaktoring-biblioteka-programmista-746788/. Одна из цитат:
Цитата

Как правило, программисты весьма умны. А умные люди иногда любят показывать мощь интеллекта, демонстрируя свои способности к мысленному жонглированию. В конце-концов, если вы помните, что переменная r содержит URL-адрес с удаленным хостом и схемой, преобразованный к нижнему регистру, это совершенно очевидно свидетельствует о вашем уме.

И далее
Цитата

Одно из различий между умным и профессиональным программистом заключается в том, что профессионал понимает: ясность превыше всего. Профессионалы используют свою силу во благо и пишут код, понятный для других людей.

Есть над чем подумать.

Автор: Farmazon 5.8.2011, 14:13
-4 символа?... какая разница-то, код будет выполнен после отрабатывания базового конструктора хешмапа. Ну в первом будет ещё  анонимный класс создан, ноhttp://lurkmore.ru/%D0%92%D1%81%D0%B5%D0%BC_%D0%BF%D0%BE%D1%85%D1%83%D0%B9.

Автор: jk1 5.8.2011, 14:24
Цитата

-4 символа?... какая разница-то, код будет выполнен после отрабатывания базового конструктора хешмапа. Ну в первом будет ещё  анонимный класс создан, но всем как всегда. 


Да никакой. Неужели не видно, что топикстартеру просто синтаксического сахарку хочется?

Автор: XoJIoD 6.8.2011, 18:53
посмотри http://codereview.stackexchange.com/questions/3245/asmap-implementation-for-java-based-on-arrays-aslist
мне больше нравится гугловский подход.

Автор: spyswamp 8.8.2011, 00:53
XoJIoD, и что, таскать за собой гуглолибы предлагаете везде? ИМХО, для заполнения мапа применять паттерн Билдер - излишне.


nc30, +1.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)