2011-01-07 79 views

回答

5

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()以便通过键 - >值对迭代。

5

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; 
} 
+1

treeMap [key]是语法糖,你不会在当前找到java版本。你应该坚持使用treeMap.get(key) – 2011-01-07 00:48:37

0

你需要的是为SortedMap(TreeMap中)的entrySet()方法。

相关问题