用于字典的 java 中的 Foreach 循环

2022-09-04 05:17:14

我想用java遍历字典中的每个项目。为了澄清我想做什么,这是C#代码

Dictionary<string, Label> LableList = new Dictionary<string, Label>();
foreach (KeyValuePair<string, Label> z in LabelList);

我不知道该怎么做就是java,例如我做了这个

for(Object z: dic)

但它说它是不可迭代的。请指教...


答案 1

我假设你有一个Java内置的字典结构。Java不允许您直接迭代(即它不实现),因为它会模糊您实际迭代的内容。Map<String, Label>MapIterable

只需选择循环访问键、值或条目(两者)即可。

例如:

Map<String, Label> map = new HashMap<String, Label>();
//...

for ( String key : map.keySet() ) {
}

for ( Label value : map.values() ) {
}

for ( Map.Entry<String, Label> entry : map.entrySet() ) {
    String key = entry.getKey();
    Label value = entry.getValue();
}

C# 代码似乎与循环访问条目相同(最后一个示例)。


答案 2

java.util.Map是字典等价的,下面是如何迭代每个条目的示例

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