java - 在 Java 中对 ArrayList<List> 进行排序

标签 java arraylist

<分区>

我有一个 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));
   }

}

关于java - 在 Java 中对 ArrayList<List> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39791961/

相关文章:

java - 从 Eclipse 构建中删除对资源文件夹的排除?

java - ArrayList - 使用字符串获取 "Contain"和 "lastIndexOf"

java - 使用 ArrayList 填充 ListFragment

java - 如何在 Java 中循环 NavigableMap

Java程序挂起

java - 如何将 ArrayList 添加到 GWT ListBox

java - 在数组列表中查找唯一元素错误

java - Collections.rotate() 作为 Java 中数组列表的副本

java - 从 xml 字符串中提取元素

java - 如何使用java模板实现这个方法?