如果.NET有一個SortedDictionary對象...請問在Java中這是什麼?我還需要能夠在Java代碼中檢索Enumeration
(的元素)..所以我可以迭代所有的鍵。我想這是一個TreeMap?但我不認爲這是暴露的Enumeration
?什麼是在Java中的.NET SortedDictionary的等價物?
任何想法?
如果.NET有一個SortedDictionary對象...請問在Java中這是什麼?我還需要能夠在Java代碼中檢索Enumeration
(的元素)..所以我可以迭代所有的鍵。我想這是一個TreeMap?但我不認爲這是暴露的Enumeration
?什麼是在Java中的.NET SortedDictionary的等價物?
任何想法?
TreeMap
將是正確的選擇。至於所有密鑰(或值)的收集,任何Map
公開keySet()
和values()
。
編輯(用代碼標記回答你的問題)。假設你有一個Map<String, Object>
:
for (String key : map.keySet()) {
System.out.println(key); // prints the key
System.out.println(map.get(key)); // prints the value
}
您還可以使用entrySet()
代替keySet()
或values()
以便通過鍵 - >值對迭代。
TreeMap
可能是您要找到的最接近的東西。
可以遍歷鍵調用TreeMap.keySet();
並遍歷返回的設置:
// assume a TreeMap<String, String> called treeMap
for(String key : treeMap.keySet())
{
string value = treeMap[key];
}
這將是等效的:
// assume a SortedDictionary called sortedDictionary
foreach(var key in sortedDictionary.Keys)
{
var value = sortedDictionary[key];
}
// assume TreeMap<String, String> called treeMap
for (Map.Entry<String, String> entry : treeMap.entrySet())
{
String key = entry.getKey();
String value = entry.getValue();
}
這是等同於以下.NET代碼:
// assume SortedDictionary<string, string> called sortedDictionary
foreach(KeyValuePair<string, string> kvp in sortedDictionary)
{
var key = kvp.Key;
var value = kvp.Value;
}
treeMap [key]是語法糖,你不會在當前找到java版本。你應該堅持使用treeMap.get(key) – 2011-01-07 00:48:37
你需要的是爲SortedMap(TreeMap中)的entrySet()方法。
如何遍歷TreeMap http://stackoverflow.com/questions/1318980/how-to-iterate-over-a-treemap – Casey 2011-01-07 00:36:41