私にはList<Map<String, String>>
があります。マップの1つの特定の値は、小数点を含む数値入力です。私はマップの特定の値に基づいて降順でリストをソートしたいと思います。特定の数値に基づいて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);
.
.
.
.
ので、私は100.0のスコアを含むマップが上になるように降順でList<Map<String, String>>
をソートしたいです。
私はここ
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の)によって地図をソート](https://stackoverflow.com/questions/109383/sort-a-mapkey-value-by-values-java)でどのように –
Flown
を値が浮動小数点数に解析できなかった場合、これは動作するはずです。 –
@Flown私は間違っているかもしれませんが、私はすでにその解決策を試しています。私の問題は、浮動小数点型または浮動小数点型の型キャストで、その浮動小数点値に基づいて1つの特定の浮動小数点値でマップをソートすることです。 –
cppnoob