Comparable && Comparator

当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。下面通过两个例子分别用Comparable和Comparator实现对User对象中年龄排序。

 

1.通过实现Comparable接口,根据User的年龄进行排序。

 

Java中Comparable和Comparator实现对象比较 - DaySpring - DaySpring的博客
Java中Comparable和Comparator实现对象比较 - DaySpring - DaySpring的博客
Java中Comparable和Comparator实现对象比较 - DaySpring - DaySpring的博客
 
 
2. 通过实现Comparator接口,根据User的年龄进行排序。

 Java中Comparable和Comparator实现对象比较 - DaySpring - DaySpring的博客

 

Java中Comparable和Comparator实现对象比较 - DaySpring - DaySpring的博客

 Java中Comparable和Comparator实现对象比较 - DaySpring - DaySpring的博客

 

选择Comparable接口还是Comparator?

Comparator可以看成一种算法的实现,将算法和数据分离,Comparator也可以在下面两种环境下使用:
1、类的设计师没有考虑到比较问题而没有实现Comparable,可以通过Comparator来实现排序而不必改变对象本身

2、可以使用多种排序标准,比如升序、降序等。  

posted on 2018-08-29 15:14  xiaowater  阅读(84)  评论(0)    收藏  举报

导航