很高兴你解决了你的问题,但对于其他人来说,如果你想迭代entrySet()
,有两种方法。这样做的第一种方式:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class Testing {
public static void main(String[] args) {
Map<String, String> strMap = new HashMap<String, String>();
strMap.put("foo", "bar");
strMap.put("alpha", "beta");
for (Iterator<Entry<String, String>> iter = strMap.entrySet().iterator(); iter.hasNext();)
{
Entry<String, String> entry = iter.next();
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
}
注意的进口在代码的顶部,你可能错过了一个为Iterator
。
而第二个:
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class Testing {
public static void main(String[] args) {
Map<String, String> strMap = new HashMap<String, String>();
strMap.put("foo", "bar");
strMap.put("alpha", "beta");
for (Entry<String, String> entry : strMap.entrySet())
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
这就是所谓的for-each loop,并且消除了需要使用Iterator
所有和使代码更简单。请注意,这也可以在阵列中使用,以消除对索引的需要:只要我有问题解决了
String[] strs = {"foo", "bar"};
for (String str : strs)
System.out.println(str);
你是否'import java.util.Iterator;'? –
此外,使用泛型使您的代码类型安全。 –
谢谢!我没有导入它。我只是试图导入java.util.Iterator,但我被告知i.next()不能转换为类节点,它是一个自定义的类。 @ A - C – Timothy