Java 遍历 HashMap<?, List<?>> 并为每个 Key 计算 Key 有多少个 Values

Java Iterate through a HashMap<?, List<?>> and for each Key count how many Values the Key has

我不知道如何解决这个问题,因为我知道地图没有特定的顺序。我认为您会遍历地图的键,然后通过获取 LinkedList 的大小来检查值计数,因为键的值保存在 LinkedList 中我可以调用 LinkedList 的大小或长度调用,但是我的主要问题是如何首先使用迭代器进入 HashMap 来执行此操作?

在 Java 中,可以按如下方式对映射的所有条目进行迭代:

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

但是,一个映射最多只能包含一个与键关联的值。因此,如果使用列表映射来关联多个值,则只需通过 get.

即可访问该列表

我想你有这样的东西:

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

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

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