这里所说到的Java中的排序并不是指插入排序、希尔排序、归并排序等具体的排序算法。而是指执行这些排序算法时,比较两个对象“大小”的比较操作。我们很容易理解整型的 i>j 这样的比较方式,但当我们对多个对象进行排序时,如何比较两个对象的“大小”呢?这样的比较 stu1 > stu2 显然是不可能通过编译的。为了解决如何比较两个对象大小的问题,JDK提供了两个接口 java.lang.Comparable 和 java.util.Comparator 。
一、自然排序:java.lang.Comparable
Comparable 接口中只提供了一个方法: compareTo(Object obj) ,该方法的返回值是 int 。如果返回值为正数,则表示当前对象(调用该方法的对象)比 obj 对象“大”;反之“小”;如果为零的话,则表示两对象相等。下面是一个实现了 Comparable 接口的 Student 类:
public class Student implements Comparable {
private int id;
private String name;
public <

本文探讨Java中如何对对象进行排序,重点在于理解Comparable接口和Comparator接口的作用。Comparable接口通过compareTo方法实现对象的自然排序,而Comparator接口则提供了一种自定义比较逻辑的方式。举例说明了Student类如何实现Comparable接口,并使用Arrays.sort方法进行排序。
&spm=1001.2101.3001.5002&articleId=51966134&d=1&t=3&u=c5e4c5ef55ac49ff9254072b03ded5a8)
763

被折叠的 条评论
为什么被折叠?



