Java 当数据类型不是字符串时,如何对arrayList进行排序?

Java 当数据类型不是字符串时,如何对arrayList进行排序?,java,Java,我有一个存储对象的arrayList。每个对象都包含字符串和整数。如何根据对象的字符串按字母顺序排列此arrayList?(我尝试了Collections.sort(arrayList的名称),但由于arrayList的数据类型不是字符串,因此无法排序。)您必须传递一个自定义比较器: Collections.sort(list,(o1,o2)->o1.getString().compareTo(o2.getString()); 或实现可比较的接口: public class YourCl

我有一个存储对象的arrayList。每个对象都包含字符串和整数。如何根据对象的字符串按字母顺序排列此arrayList?(我尝试了Collections.sort(arrayList的名称),但由于arrayList的数据类型不是字符串,因此无法排序。)

您必须传递一个自定义比较器:

Collections.sort(list,(o1,o2)->o1.getString().compareTo(o2.getString());
或实现可比较的接口:

public class YourClass implements Comparable<YourClass>{
   ...
   @Override
   public int compareTo(YourClass other){
      //TODO: Error handling
      return this.getString().compareTo(other.getString();
   }
}
//and then:
//Collections.sort(list);
public类YourClass实现可比较的{
...
@凌驾
公共int比较(您的班级其他){
//TODO:错误处理
返回这个.getString().compareTo(其他.getString();
}
}
//然后:
//集合。排序(列表);

您确定在搜索引擎上搜索没有解决方案吗?是的!:)我只是想知道是否还有其他解决方案/方法。感谢您的帮助,JXWasmx86!