Dan*_*iel 11 java dictionary for-loop
我想通过java中的字典中的每个项目.为了澄清我想做什么,这是C#代码
Dictionary<string, Label> LableList = new Dictionary<string, Label>();
foreach (KeyValuePair<string, Label> z in LabelList);
Run Code Online (Sandbox Code Playgroud)
我不知道如何做到这一点是java,例如我这样做了
for(Object z: dic)
Run Code Online (Sandbox Code Playgroud)
但它说它不可迭代.请指教......
Mar*_*ers 34
我假设你有一个Map<String, Label>
Java内置字典结构.Java不允许你直接迭代Map
(即它没有实现Iterable
),因为它实际上是迭代的是不明确的.
这只是选择迭代键,值或条目(两者)的问题.
例如
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();
}
Run Code Online (Sandbox Code Playgroud)
您的C#代码似乎与迭代条目(最后一个示例)相同.
java.util.Map
是相当于字典的字典,下面是有关如何迭代每个条目的示例
for(Map.Entry<K, V> e : map.entrySet())
{
System.out.println(e.getKey()+": "+e.getValue());
}
Run Code Online (Sandbox Code Playgroud)