Java通过HashMap迭代<! - ?,List <? - >&gt;并为每个Key计数Key有多少个值

时间:2015-03-10 00:50:06

标签: java dictionary iterator hashmap

由于我知道地图没有特定的顺序,因此我遇到了解决这个问题的问题。我认为你会迭代地图的密钥,然后通过获取LinkedList的大小来检查值计数,因为Key的值保存在LinkedList中我可以调用一个大小或长度调用LinkedList,但我的主要问题是如何首先使用迭代器进入HashMap?

2 个答案:

答案 0 :(得分:2)

映射的所有条目的迭代器可以在Java中完成:

for (Map.Entry<Key, Value> entry : map.entrySet()) {
  Key k = entry.getKey();
  Value v = entry.getValue();
  // do something with k,v
}

但是,地图最多只能包含一个与键相关联的值。因此,如果使用列表地图关联多个值,则只需通过get即可访问该列表。

答案 1 :(得分:1)

我想你有这样的事情:

    Map<Integer,List<Integer>> map = new HashMap<>();

您可以非常简单地遍历所有值。

    for (List<Integer> values : map.values()){
        System.out.println(values.size());
    }