如何获取HashMap中键的出现次数?

时间:2012-09-25 06:23:04

标签: java collections hashmap key

我有这样的Hashmap,

HashMap<String,String> epnSource = new HashMap<String, String>();

现在我添加了这样的键/值,

epnSource.put("10.3.2.227","EPN1");
epnSource.put("10.3.2.227","EPN2");
epnSource.put("10.3.2.166","EPN3");
epnSource.put("10.3.2.166","EPN4");
epnSource.put("10.3.2.161","EPN5");

我想在添加值之前每次都这样做,我想检查HashMap中存在的键的出现次数。假设如果密钥10.3.2.227出现两次以上,我不应该添加它并转到新的密钥。任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:4)

  

假设值10.3.2.227有多于两次出现......

不会。你实现它的方式,“10.3.2.227”是Map的一个关键,一个给定的键在Map中不能出现多次。

如果你希望一个给定的密钥(例如“10.3.2.227”)映射到多个值(例如“EPN1”和“EPN1”),你需要使用{{1}来自Apache或Google / Guava集合库的Map<String,Set<String>>类。

答案 1 :(得分:0)

如果地图以前包含该键的映射,则替换旧值。

HashMap中不可能有重复键。