我的HashMap
,
"ver":"a"
"ver":"b"
"ver":"c"
"os":"d"
"os":"e"
我只需要:
"os":"d"
"os":"e"
我的代码是:
String[] eachPair = myString.split(",");
Map<String,String> pairs = new HashMap<String,String>();
for(String pair: eachPair) {
pairs.put(pair.substring(0, pair.indexOf(":")).trim(), pair.substring(pair.indexOf(":")+1));
}
pairs.get("os");
但它不起作用。请帮忙
答案 0 :(得分:2)
将键映射到值的对象。地图不能包含重复的键;每个键最多可以映射一个值。
答案 1 :(得分:2)
HahMap
不允许重复密钥。所以我建议您使用Guava's MultiMap
或apache's MultiValueMap
请看看
MultiMap的示例代码参考:http://tomjefferys.blogspot.in/2011/09/multimaps-google-guava.html
MultiValueMap的示例代码参考:http://java.dzone.com/articles/allowing-duplicate-keys-java
答案 2 :(得分:1)
Map
应仅包含唯一键,如果使用地图中已存在的相同键添加值,则该键的值将被覆盖,您将丢失旧值。