我有一個List<Map<String, String>>
。地圖的一個特定值是帶小數的數字條目。我希望根據地圖的特定值以降序對列表進行排序。基於特定數值對地圖<字符串,字符串>列表排序
例如:
List<Map<String, String>> foo= new ArrayList<Map<String, String>>();
Map<String, String> bar1 = new HashMap<>();
Map<String, String> bar2 = new HashMap<>();
Map<String, String> bar3 = new HashMap<>();
bar1.put("name", "abc");
bar1.put("score", "72.5");
bar1.put("sex", "male");
foo.add(bar1);
bar2.put("name", "pqr");
bar2.put("score", "98.7");
bar2.put("sex", "female");
foo.add(bar2);
bar3.put("name", "xyz");
bar3.put("score", "100.0");
bar3.put("sex", "male");
foo.add(bar3);
.
.
.
.
等
我想將List<Map<String, String>>
降序使得含有的100.0得分地圖位於頂部排序。
我試圖
Collections.sort(list, new Comparator<Map.Entry<K, V>>() {
@Override
public int compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2) {
return (o1.getValue()).compareTo(o2.getValue());
}
});
但「V」這裏是一個字符串,而我需要它來進行排序爲float。 任何幫助,將不勝感激。
的[顯示結果值(Java)的一個Map(https://stackoverflow.com/questions/109383/sort-a-mapkey-value-by-values-java) –
Flown
是如何可能的複製這應該工作,如果價值無法解析爲浮動? –
@Flown我可能是錯的,但我已經嘗試過這個解決方案。我的問題是與字符串的類型轉換爲浮動或清除,根據該浮點值對具有一個特定浮動值的映射<字符串,字符串>進行排序。 – cppnoob