0

キーと値のペアの形式のコレクションがあり、キー自体に基づいて並べ替えようとしましたが、コレクションの値は次のとおりです

cd,20
ef,65
ab,28
gh,76

最初に示したように key です。キー自体に基づいて並べ替える方法を教えてください。それが私が探していた出力です。

ab,28
cd,20
ef,65
gh,76
4

2 に答える 2

3

元の Map からTreeMapを作成するだけです。TreeMap は、キーの自然順序付けに従ってソートされます。

for (Map.Entry e : treeMap.entrySet()) {
   // generics elided for clarity

ソートされます。のドキュメントからentrySet()

このマップに含まれるマッピングの Set ビューを返します。セットの反復子は、キーの昇順でエントリを返します。

を使用entrySet()すると、キーを取得して値のマップに戻るのではなく、1 回の操作でキーと対応する値を取得できます。これは小さな最適化ですが、知っておく価値があります。

于 2012-11-19T17:34:07.653 に答える
1
TreeMap<String, Integer> map = new TreeMap<>();
// insert entries:
map.put("ab", 12);
// ...
// insertion order does not matter
for (String key : map.keySet()) {
    System.out.println(key + ", " + map.get(key));
}
// will always print in sorted order
于 2012-11-19T17:34:56.123 に答える