gpt4 book ai didi

java - 如何迭代hashmap,是否需要在Java中强制转换keySet()?

转载 作者:行者123 更新时间:2023-12-01 17:16:42 25 4
gpt4 key购买 nike

我有一个关于迭代 HashMap 的问题:

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

我想使用以下代码迭代此 HashMap 并打印出键和值对:

Iterator iterator = portMap.keySet().iterator();

但它表明我要转换 portMap.keySet().iterator();(Iterator)portMap.keySet().iterator() ;,但是iterator()已经作为迭代器返回了,为什么我需要强制转换它?我检查了其他一些代码,没有对iterator()的返回值进行强制转换。 ,是什么原因,如何解决?

最佳答案

如果您想打印键和值,您应该使用entrySet:

for (Map.Entry<String, Integer> e : map.entrySet()) {
System.out.println(e.getKey() + " = " + e.getValue());
}

至于您的转换问题,可能是因为您在导入中导入了不同的迭代器类。通过正确的导入,无需强制转换即可正常编译:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

//.....

Map<String, Integer> map = new HashMap<String, Integer>();
Iterator<String> iterator = map.keySet().iterator();

关于java - 如何迭代hashmap,是否需要在Java中强制转换keySet()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21579560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com