2011-01-07 14 views
7

.NETにはSortedDictionaryというオブジェクトがあります...これはJavaで何ですか?私はまた、JavaコードでEnumeration(要素の)を取得することができる必要があります。だから、私はすべてのキーを反復することができます。Javaの.NET SortedDictionaryと同等のものは何ですか?

私はそれがTreeMapだと思いますか?しかし、私はそれが公開されていると考えていないEnumeration

アイデア?

+0

TreeMapを反復処理する方法http://stackoverflow.com/questions/1318980/how-to-iterate-over-a-treemap – Casey

答えて

5

TreeMapが適切です。すべてのキー(または値)のコレクションについては、MapkeySet()values()を公開します。

EDIT(コードタグで質問に答える)あなたはMap<String, Object>を持っていると仮定すると:

for (String key : map.keySet()) { 
    System.out.println(key); // prints the key 
    System.out.println(map.get(key)); // prints the value 
} 

ます。また、キー - >値のペアを反復処理するために、代わりにkeySet()またはvalues()entrySet()を使用することができます。

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)を使うべきです。 –

関連する問題