Java多个值到映射中的一个键

时间:2014-06-02 12:38:10

标签: java list hashmap

我想创建地图,其中许多值将分配给一个键。

比方说,我的数据库中有很多玩具。

当我从数据库中选择时,我有这样的事情:

名称|玩的年龄

car   |  4-6
doll  |  2-4
bike  |  4-6
lego  |  6-8
plain |  6-8

我想在java中创建循环并将地图中的所有内容分组,其中key将为" age to play"。

在我看来,它看起来像这样:

2-4 -> {doll}
4-6 -> (car, bike)
6-8 -> {lego, plain}

我想制作hashmap:

HashMap map = new HashMap();

for(Toys toy : toys){

map.add(toy.age, toy.name);

}

但这是错的。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

使用Oracle的MultivalueMap或Google Guava的Multimap

答案 1 :(得分:2)

您可以使用Map<MyRange, List<String>>。顺便说一句,您使用put而非add来设置相关密钥及其对应的值

答案 2 :(得分:0)

 Map<Object,ArrayList<Object>> multiMap = new HashMap<Object,ArrayList<Object>>();