for循环是否可以在Java中组合两个迭代?
在Java中这样组合迭代器合法吗
for(int key : someMap.KeySet() && double value : someMap.values()) {
//do something
}
这是我在别的地方找不到的。我将亲自测试,但是如果有人能帮我省力,并且马上知道这一点,我将不胜感激
你可以在下面搜索框中键入要查询的问题!
在Java中这样组合迭代器合法吗
for(int key : someMap.KeySet() && double value : someMap.values()) {
//do something
}
这是我在别的地方找不到的。我将亲自测试,但是如果有人能帮我省力,并且马上知道这一点,我将不胜感激
# 1 楼答案
不,foreach循环在Java中不是这样工作的。为什么必须循环使用
Map
值?您可以直接获取给定键的值:或者更好的是,在
Map
的条目Set
上迭代:或者,如果您真的想对这两种方法进行迭代,可以手动使用迭代器:
# 2 楼答案
几乎可以肯定的是,您希望像这样在
Map
的entrySet()
上进行迭代但无论如何,在Java8中,您可以
# 3 楼答案
你需要在
someMap.entrySet()
上迭代,以实现你在问题中所勾画的内容。通过这种方式,您可以在一次迭代中访问每个条目(包装在Map.Entry<Integer, Double>
对象中)的键和值