Java中Comparable和Comparator

来源:互联网 发布:excel的数据分析工具 编辑:程序博客网 时间:2024/05/30 04:18

  当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。

  Comparable例子:

class Student implements Comparable {public int age;public int compareTo(Object o) {return this.age - ((Student)o).age;}}

Student[] stus = new Student[]{new Student(10),new Student(15),new Student(20),};Arrays.sort(stus);
Arrays是一个数组工具类,会根据Comparable接口中的compareTo方法来进行排序Student对象。


  Comparator例子:

  class Student{  public int age;  }

  public class StudentComparator implements Comparator {  public int compare(Object o1, Object o2) {   return ((Student) o1).age - ((Student) o2).age;   }   }

  StudentComparator comparator = new Comparator();  Arrays.sort(stus, comparator);

  选择使用Comparator:可以使用多种排序标准,比如升序、降序等。



0 0
原创粉丝点击