0

我有这样的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 中存在的键的出现次数。假设如果 key10.3.2.227出现两次以上,我不应该添加它并选择新的。任何建议都会有所帮助。

4

2 回答 2

4

假设如果值 10.3.2.227 出现两次以上...

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

如果您希望给定键(例如“10.3.2.227”)映射到多个值(例如“EPN1”和“EPN1”),您需要使用 Apache 或 Google/Guava 集合库中的一个Map<String,Set<String>>或一个MultiMap类。

于 2012-09-25T06:31:37.937 回答
0

如果映射先前包含键的映射,则替换旧值。

HashMap 中不可能有重复键。

于 2012-09-25T06:29:58.547 回答