rat*_*zip 0 java iterator hashmap map
我有一个关于迭代一个hashmap的问题:
Map<String, Integer> map = new HashMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)
我想迭代这个hashmap并使用以下代码打印输出键和值对:
Iterator iterator = portMap.keySet().iterator();
Run Code Online (Sandbox Code Playgroud)
但它表明我要转换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());
}
Run Code Online (Sandbox Code Playgroud)
至于您的转换问题,可能是因为您在导入中导入了不同的Iterator类.使用正确的导入,这可以很好地编译而不需要转换:
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
745 次 |
| 最近记录: |