天天看点

Java实现自定义排序

前言:排序是编程中经常需要用到的功能,通常我们可以通过对我们的查询sql进行排序。在 java 的工具类 collections 中也提供了 sort() 方法用于实现对列表等集合中元素的排序。

collections.sort() 方法有两种形式:collections.sort(list) 和 collections.sort(list, comparator)。

1. 实现 comparable 接口

直接上代码

2. 实现 comparator 接口

3. 二者区别

comparable和comparator都是用来实现集合中元素的比较、排序的,只是comparable是在集合内部定义的方法实现的排序,comparator是在集合外部实现的排序,所以想要实现排序,就需要在集合外定义comparator接口或在集合内实现comparable接口两种方法。

可以说一个是自已完成比较,一个是外部程序(自定义比较规则)实现比较的差别而已。

方式一相对来说耦合度比较高,不优雅。