これが重複している場合はお詫び申し上げますが、この特定の問題に具体的に答える回答は見つかりませんでした。
Set値とペアになった文字列キーを含むHashMapがあります。セットの長さに基づいてマップ内の値を並べ替えたいと思います。検討:
HashMap<String, Set<String>> myMap;
含まれています:
{"A", {"Dukmerriot", "King", "Pumpkin"}}
{"B", {"Steve"}}
{"C", {"Jib", "Jab", "John", "Julie"}}
{"D", {"Apple", "Amy", "Unicorn", "Charlie", "Raptor"}}
{"E", {}}
効率的にリスト{"D", "C", "A", "B", E"}
(セットの大きいものから小さいものへの順序を指定)を取得できるようにしたい。myMap
Setを実装するラッパークラスを作成してメソッドをオーバーライドする以外に、セットのコレクションを長さに基づいて並べ替える方法はありますcompareTo
か?
編集:このコレクションを維持するためにHashMapを使用する必要がないことを指定する必要があります。TreeMapなどを使用することもできますが、SetはComparableを実装していないため、それが可能かどうかはわかりません。