HashMap
これを昇順で印刷する必要があります価値観そこに含まれる(鍵ではない)。
しかし、印刷したときの順序はランダムのようです。
印刷する最良の方法は?昇順?
Map<String, String> codes = new HashMap<String, String>();
codes.put("A1", "Aania");
codes.put("X1", "Abatha");
codes.put("C1", "Acathan");
codes.put("S1", "Adreenas");
つまり、上記の例は次のように印刷されます。
A1, Aania
X1, Abatha
C1, Acathan
S1, Adreenas
ベストアンサー1
HashMap クラスだけではこれを実行することはできません。
私は を取得し、マップの値をキーにマッピングするMap<String, String> codes
の逆マップを構築します(これには、元のマップにキーから値への 1 対 1 のマッピングが必要です)。 TreeMap は、エントリをキーの昇順で返す Iterators を提供するため、これにより、最初のマップの値とキーの組み合わせが、必要な順序 (値でソート) で得られます。TreeMap<String, String> reversedMap
codes
Map<String, String> reversedMap = new TreeMap<String, String>(codes);
//then you just access the reversedMap however you like...
for (Map.Entry entry : reversedMap.entrySet()) {
System.out.println(entry.getKey() + ", " + entry.getValue());
}
同様の双方向マップ実装を持つコレクション ライブラリ (commons-collections、Google Collections など) がいくつかあります。