[英]Java sort HashMap values which are List<Value>
我得到了HashMap:
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());
}
});
}
我已經這樣做了幾個小時,所以我想您可能會對此提出建議。
代碼看起來不錯。 Collections.sort將對列表進行排序。
為什么需要這條線?
facetsInCategories.put("test", value);
列表已添加到哈希圖中。 他們將被分類在哪里。
從null-safety的角度來看,您假設這將永遠不會為null:
o1.getTranslatedValue()
評論此行,它應該可以解決問題:
facetsInCategories.put("test", value);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.