Comparable和Comparetor

java中的一些sort方法,都需要靠Comparable和Comparetor来实现

  • List的sort方法,必须要Comparetor
  • Collections.sort方法,实现了重载,可以Comparable,也可以Comparetor
  • stream().sorted()方法,实现了重载,可以Comparable,也可以Comparetor

Comparable

对其对象要进行排序的类,实现Comparable接口,定义该对象比较大小的规则
即需要重写compareTo方法
int compareTo(T o)
从小到大:return this.getXXX() - o.getXXX()
从大到小:return o.getXXX() - this.getXXX()

Comparetor

排序方法传入Comparetor匿名实现类对象

  • 重写compare方法
    • int compare(T o1, T o2)
    • 从小到大:return o1.getXXX() - o2.getXXX()
    • 从大到小:return o2.getXXX() - o1.getXXX()
  • lambda表达式
  • 方法引用

你可能感兴趣的:(java)