如何过滤以下地图?

时间:2013-09-19 11:47:17

标签: java map

我的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");

但它不起作用。请帮忙

3 个答案:

答案 0 :(得分:2)

将键映射到值的对象。地图不能包含重复的键;每个键最多可以映射一个值。

答案 1 :(得分:2)

HahMap不允许重复密钥。所以我建议您使用Guava's MultiMapapache'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应仅包含唯一键,如果使用地图中已存在的相同键添加值,则该键的值将被覆盖,您将丢失旧值。