Java基礎系列 List排序

2021-09-11 13:55:18 字數 991 閱讀 5600

public

static

super t>> void

sort

(listlist)

public

static

void

sort

(listlist, comparator<? super t> c)

複製**

public

class

objectsort

}}class

studentcomparator

implements

comparator

}class

student

implements

comparable

public

void

setno

(string no)

public string getname

() public

void

setname

(string name)

public

student

(string no, string name)

@override

public

intcompareto

(student o)

}複製**

根據執行結果可以發現,預設是按照公升序進行排序的。而在實際應用中經常是按照倒序排序,該如何解決呢?

class

studentcomparator

implements

comparator

}複製**

1、推薦使用顯式指定比較器方法,comparable的compare方法已實現或防止compare方法被修改的可能;

2、collectins工具類的sort方法的過程是首先將list轉換成陣列,然後選擇排序方法對陣列進行排序。

回歸基礎系列 快速排序 JAVA

快速排序 基本思想 選擇個基準數 一般是第乙個元素或最後乙個元素 然後以基準數分開左右邊。左邊全部比基準數小 右邊全部比基準數大 直到左右指標相等,交換下標為左右指標相等的數和基準數 遞迴重複。快速排序 author ant public class quicksort 最後他們相遇了。交換相遇位置...

STL基礎系列之 list

鍊錶 list 雙向鍊錶容器不支援隨機訪問,訪問鍊錶元素需要指出從鍊錶的某個端點開始,插入和刪操作所花費的時間是固定的,和該元素的位置無關。在任何位置插入和刪除動作都很快,不像vector只在末尾進行操作。stl list容器由於採用了雙向迭代器,不支援隨機訪問,所以標準庫的merge sort 等...

java 集合類List系列 二

現討論一下以下的問題 如果需要刪除 重複的元素那該如何處理?list.add new student 張三 23 list.add new student 張三 23 list.add new student 李四 24 list.add new student 張三 23 list.add new...