Java 自定义对象的排序列表,其中我们正在排序的属性可以为空
我正在尝试对自定义对象的列表进行排序(假设Student),即Java 自定义对象的排序列表,其中我们正在排序的属性可以为空,java,sorting,Java,Sorting,我正在尝试对自定义对象的列表进行排序(假设Student),即List 在其加入日期的递减顺序中。现在,允许将joiningDate设置为null。在这种情况下,joiningDate为null的学生应先到,然后按其joiningDate的降序来剩余的学生 Class Student{ Date joiningDate; int rollNo; ... } 我尝试了以下方法:- Comparator<Student> myComparator = Comparat
List
在其加入日期的递减顺序中。现在,允许将joiningDate设置为null。在这种情况下,joiningDate为null的学生应先到,然后按其joiningDate的降序来剩余的学生
Class Student{
Date joiningDate;
int rollNo;
...
}
我尝试了以下方法:-
Comparator<Student> myComparator = Comparator.nullsFirst(
Comparator.comparing(Student::getJoiningDate,
(s1,s2)->{ return s2.compareTo(s1);}
));
Collections.sort(studentsList, myComparator);
Comparator myComparator=Comparator.nullsFirst(
Comparator.comparing(学生::getJoiningDate,
(s1,s2)->{返回s2.compareTo(s1);}
));
Collections.sort(studentsList,myComparator);
当学生对象为null
时,此解决方案有效,但当属性joiningDate为null时,此解决方案不包含流
Class Student{
Date joiningDate;
int rollNo;
...
}
实现Compariable to您的类,然后将逻辑放入Comparieto(Student o)
方法中,该方法应被重写
将接口添加到类中,如下所示:
public class Student implements Comparable<Student>
-如果您需要ASC/DESC
订单,则可以返回1/1。此解决方案没有流
实现Compariable to您的类,然后将逻辑放入Comparieto(Student o)
方法中,该方法应被重写
将接口添加到类中,如下所示:
public class Student implements Comparable<Student>
-如果您需要ASC/DESC
订单,可以返回1/1。这将有助于回答您的问题吗?这回答了你的问题吗?这将有助于回答您的问题吗?这回答了你的问题吗?