我HashMap中:的Java排序的HashMap值它們名單<Value>
HashMap<String, List<Value>> facetsInCategories = new HashMap<>();
我需要值列表排序此HashMap的值內。列表中的值有四個字段,我需要通過「translatedValue」字符串對列表進行排序。這就是爲什麼我把「getTranslatedValue」放在自定義比較器中。下面是值對象字段:
public String name;
public int count;
private String translatedValue;
private String translation;
,這裏是我的嘗試:
for (List<Value> value : facetsInCategories.values()) {
Collections.sort(value, new Comparator<Value>() {
@Override
public int compare(Value o1, Value o2) {
return o1.getTranslatedValue().compareTo(o2.getTranslatedValue());
}
});
}
我一直在做這幾個小時,所以我想你可能在以某種方式提出建議。
結果是什麼你獲得和你期待的結果是什麼? – RealSkeptic 2014-10-16 12:11:06
我期望上面的代碼根據他們的'convertedValue'的String-compareTo的結果對你的Value對象進行排序......這是否已經發生? – JBA 2014-10-16 12:13:19
你爲什麼把名單放回地圖上?這是沒有必要的。排序應該工作文件。 – A4L 2014-10-16 12:13:22