Страница 1 из 1

Работа с HashMap

Добавлено: 14 ноя 2013, 14:06
Isaev
Нужно как-то хранить табличку значений 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, но там тоже ничего не нашёл... может надо иначе подойти к проблемме?

Re: Работа с HashMap

Добавлено: 14 ноя 2013, 14:14
rezak90
учи Java ;) , не зная как работают коллекции даже в junior'ы не берут

Re: Работа с HashMap

Добавлено: 14 ноя 2013, 14:25
trew
Isaev писал(а):при чём с возможностью получения массива String[] и Int[] отдельно
Так может создать два массива? :)
Если они одинаковой длины, индексы будут совпадать для "one" и для "1".
("one", 1);

Re: Работа с HashMap

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

я думал почему-то, что из коллекции должно быть просто вернуть столбик отдельно, вот на основе их и начал

Re: Работа с HashMap

Добавлено: 14 ноя 2013, 15:16
trew
Создай метод, который будет возвращать два значения.

Re: Работа с HashMap

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

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

Re: Работа с HashMap

Добавлено: 14 ноя 2013, 15:43
trew
На вход метода подаешь индекс позиции, или String и int.(это от твоей задачи зависит)
А на выходе получаешь HashMap.

Re: Работа с HashMap

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

Re: Работа с HashMap

Добавлено: 15 ноя 2013, 10:43
Isaev
Я, возможно, изначально не на правильном пути...
Суть в следующем, есть в активити настроек следующий элемент:

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

    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);
вот вместо этих двух массивов из ресурсов, получаю их из бд и заполняю
может это можно сделать без танцев с бубуном?

Re: Работа с HashMap

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