如果.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