Как добавить и удалить элементы из многозначного HashMap?

Я пытаюсь добавить значения в многозначный HashMap, который имеет следующую структуру:

<code>Map< Integer, List<Float> > map = new HashMap< Integer, List<Float> >();
</code>

Я на самом деле хотел сохранить ссылку на определенный элемент (например, A View в Android, например), поэтомуInteger значениеHashMap будет содержать предметыID который уникален,List изFloats будет содержать значения координат X элементов. Пользователь может иметь много элементов на экране, он также может иметь 100 элементов с одинаковым идентификатором, поэтому, соответственно, список будет содержать каждое значение координаты элементов X.

Чтобы быть более понятным, мой HashMap будет содержать следующие данные

{1, {200, 400.5, 500.6 ...}}, где 1 - это ключ, а остальные - значения с плавающей запятой для Item с ID 1.

Прямо сейчас я добавляю значения списка следующим образом ...

<code>List<Float> list = new ArrayList<Float>();

list.add(x_coord_1);
list.add(x_coord_2);
list.add(x_coord_3)
map.put(1, list);
</code>

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

Я должен был бы создать 100 списков для 100 пунктов, что невозможно, не зная количества идентификаторов.

Есть ли лучший подход для решения этой проблемы ...

Также я хотел найти способ удалить определенное значение определенного ключа изHashMap

Ответы на вопрос(2)

Ты можешь использоватьгуайява& APOS; sMultimap.

Решение Вопроса

Как насчет этого :

public class multivalueHashmap {
    private Map< Integer, List<Float> > map = new HashMap< Integer, List<Float> >();

    public void add(Integer id, Float value){
        if(!map.containsKey(id)){
            map.put(id, new ArrayList<Float>());
        }
        map.get(id).add(value);
    }

    public void delete(Integer id, Float value){
        if(!map.containsKey(id)){
            return;
        }
        map.get(id).remove(value);
    }
}

Таким образом, вы можете использовать методы, чтобы легко добавлять и удалять элементы.

 Arif Nadeem09 апр. 2012 г., 12:25
как я могу обновить значение в списке?

Ваш ответ на вопрос