簡體   English   中英

Java排序的HashMap值是List <Value>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM