我有一个 ArrayList<List>
List
在哪里s 具有包含名称的字符串值,然后将 double 转换为字符串。
例子:
List<String> list = New List;
list.add("Abraham");
list.add(String.valueOf(0.65));
List<String> list2 = New List;
list2.add("Bowers");
list2.add(String.valueOf(0.89));
ArrayList<List> arrayList = new ArrayList<>();
arrayList.add(list);
arrayList.add(list2);
如何对 ArrayList
进行排序按 double 的值降序排列?
使用 Collections.sort(arrayList, instanceOfYourOwnImplemenationOfComparator)
在自定义实现 Comparator<ArrayList>
之后.
或者更好的是,Java 是一种面向对象的语言,因此创建一个专用于存储 String+double 的类并使其具有可比性。
class MyClass implements Comparable<MyClass> {
private String word;
private double score;
MyClass(String word, double score) {
this.word = word;
this.score = score;
}
@Override
public int compareTo(MyClass o) {
return (int) Math.round(Math.signum(score - o.score));
}
}