2014-11-17 6 views
0

Я хочу создать HashMap, где каждый Key может иметь несколько Value s. Например, зонтик key может иметь value с красного, черного и зеленого. Я слышал, что ведра в Hashtable могут быть LinkedList s, ArrayList s и т. Д. Как я мог реализовать bucket как ArrayList, чтобы я мог добавлять элементы, соответствующие key, в конец списка?Java hashtable bucket как ArrayList

Я хочу иметь что-то вроде Map<Key, Value>. Если существует Key, то Value будет добавлен в список текущих Value s.

+0

Вы создаете свою собственную реализацию хеш-таблицы или используя класс 'HashMap'? – August

+0

Вы что-то пробовали? Если у вас есть код, отправьте его, чтобы люди могли вам помочь. –

+0

Я бы предпочел использовать HashMap, но я не настаиваю на его использовании. – Mahdi

ответ

3

Вы должны использовать Map<K, List<V>> map = new HashMap<>();

Вместо map.put(k, v), вы будете делать что-то вроде этого:

List<V> vs = map.get(k); 
if (vs == null) { 
    vs = new ArrayList<>(); 
    vs.add(v); 
    map.put(k, vs); 
} else { 
    vs.add(v); 
} 
Смежные вопросы