天天看點

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接口兩種方法。

可以說一個是自已完成比較,一個是外部程式(自定義比較規則)實作比較的差别而已。

方式一相對來說耦合度比較高,不優雅。