在Java中使用相同的键保存不同的值

时间:2016-07-22 11:33:16

标签: java data-structures

我有depoCinsiList,其中包含以下值:

["D","S"]

我希望有一个结构

[{type: "D"}, {type: "S"}]

我尝试过使用Map。

List<String> typeList = typeService.getDepoCinsiList(); //list which returns ["D","S"]

Map<String, List<String>> map = new HashMap<String, List<String>>();

for (int j = 0; j < typeList.size(); j++) {
    map.put("type", typeList );
}   

ArrayList<Map<String, List<String>>> mapList = new ArrayList<Map<String, List<String>>>();
mapList.add(map);

但是,返回如下:

"type":["D","S"]

我应该使用哪种数据结构来实现列表[{type: "D"}, {type: "S"}]?我可以使用JSON,但我不想使用像gson这样的其他库。

3 个答案:

答案 0 :(得分:1)

地图不允许重复的密钥

我喜欢@Zeromus解决方案,但我会选择Guava's multimaps

答案 1 :(得分:-1)

你也可以创建自己的类:

configuration.DisableFeature<TimeoutManager>()

答案 2 :(得分:-2)

这是我的想象解决方案&#34;

List<Map<String, String>> list = new ArrayList<Map<String, String>>();

for (int j = 0; j < typeList.size(); j++) {
    Map<String, String> map = new HashMap<String, String>();
    map.put("type", typeList.get(j));
    list.add(map);
}