如何获取 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出现两次以上,我不应该添加它而选择新的。任何建议都会有所帮助。

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

不会的。 按照您的实现方式,"10.3.2.227"是地图的键,给定的键不能在地图中多次出现。

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

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

在HashMap中不可能重复键。

最新更新