很高興你解決了你的問題,但對於其他人來說,如果你想迭代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