Работа с HashMap

Ответить
Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Работа с HashMap

Сообщение Isaev » 14 ноя 2013, 14:06

Нужно как-то хранить табличку значений String - Int
при чём с возможностью получения массива String[] и Int[] отдельно
делаю допустим так:

Код: Выделить всё

    HashMap<String, Integer> arr = new HashMap<String, Integer>();
    arr.put("one", 1);
    arr.put("two", 2);
    arr.put("three", 3);
как тогда получать эти 2 массива по отдельности? Ну естественно, чтобы не оббегать весь список в цикле и не строить массив.
Пробовал так же TreeMap, но там тоже ничего не нашёл... может надо иначе подойти к проблемме?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Работа с HashMap

Сообщение rezak90 » 14 ноя 2013, 14:14

учи Java ;) , не зная как работают коллекции даже в junior'ы не берут
R.id.team
Политика на форуме запрещена

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: Работа с HashMap

Сообщение trew » 14 ноя 2013, 14:25

Isaev писал(а):при чём с возможностью получения массива String[] и Int[] отдельно
Так может создать два массива? :)
Если они одинаковой длины, индексы будут совпадать для "one" и для "1".
("one", 1);
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Работа с HashMap

Сообщение Isaev » 14 ноя 2013, 15:12

trew писал(а):Так может создать два массива? :)
хотелось бы оба вернуть как результат функции
а там только 1 значение возвращается)
может сделать 1 двухмерный String [2][]? Int только придётся конвертнуть

я думал почему-то, что из коллекции должно быть просто вернуть столбик отдельно, вот на основе их и начал
Последний раз редактировалось Isaev 14 ноя 2013, 15:17, всего редактировалось 1 раз.

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: Работа с HashMap

Сообщение trew » 14 ноя 2013, 15:16

Создай метод, который будет возвращать два значения.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Работа с HashMap

Сообщение Isaev » 14 ноя 2013, 15:18

они оба берутся из одного места, быстро читаются парой
делать 2 метода и в обоих их отдельно искать? не красиво

или как можно вернуть 2 значения одним методом? это наверное то, чего я не знаю пока в яве
я в общем и вернул HashMap, только как из него на 2 массива разделить думаю теперь
rezak90 писал(а):учи Java ;) , не зная как работают коллекции даже в junior'ы не берут
так я и учу) налету... подскажи, дорый человек, коли знаешь)

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: Работа с HashMap

Сообщение trew » 14 ноя 2013, 15:43

На вход метода подаешь индекс позиции, или String и int.(это от твоей задачи зависит)
А на выходе получаешь HashMap.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Работа с HashMap

Сообщение Isaev » 15 ноя 2013, 10:13

trew писал(а):На вход метода подаешь индекс позиции, или String и int.(это от твоей задачи зависит)
А на выходе получаешь HashMap.
так HashMap я уже получил, надо назад его разделить

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Работа с HashMap

Сообщение Isaev » 15 ноя 2013, 10:43

Я, возможно, изначально не на правильном пути...
Суть в следующем, есть в активити настроек следующий элемент:

Код: Выделить всё

    ListPreference list = new ListPreference(this);
    list.setKey("list");
    list.setTitle("List");
    list.setSummary("Description of list");
    list.setEntries(R.array.entries);
    list.setEntryValues(R.array.entry_values);

    rootScreen.addPreference(list);
вот вместо этих двух массивов из ресурсов, получаю их из бд и заполняю
может это можно сделать без танцев с бубуном?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Работа с HashMap

Сообщение Mikhail_dev » 15 ноя 2013, 12:04

Я бы сделал маленький класс для всех этих параметров. Взял бы потом какой-то параметр за ключ и запихнул бы в Map ключ, а значение сам объект. Или списком бы сделал. Тут уже как вашей душе угодно.

Ответить