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());
}
我不知道如何解决这个问题,因为我知道地图没有特定的顺序。我认为您会遍历地图的键,然后通过获取 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());
}