TreeSet自定義排序

2021-07-15 06:10:17 字數 685 閱讀 3476

1. 介紹

treeset是sortedset介面的一種實現類。在插入元素時,會按照預設的排序方法或者自定義的排序方法進行排序。

2. 構造方法

treeset()

//構造乙個新的空 set,該 set 根據其元素的自然順序進行排序。

treeset(collection<? extends e> c)

//構造乙個包含指定 collection 元素的新 treeset,它按照其元素的自然順序進行排序。

treeset(comparator<? super e> comparator)

//構造乙個新的空 treeset,它根據指定比較器(通過呼叫其compare(object, object)方法)進行排序。

3. 自定義比較器comparator

//按照字元先後順序排序

public

class

mycomparator

implements

comparator

}//按照字串的長度進行排序,如果相同長度則按照字元先後順序排序

public

class

mycomparator

implements

comparator

}

沒啥大用的TreeSet 實現自定義排序的注意事項

使用treeset儲存有序的集合時,應特別注意 儲存string型別,因為string已經繼承了comparable介面,並重寫了compareto方法,所以可以直接預設排序 而泛型給的是我們自定義的類,直接儲存會報錯 需要 implements comparable,如 public class ...

DataGridView自定義排序

net自帶datagridview排序貌似最終都是用datagridview.sort 發現當是用排序後,datagridview將把排序前的行樣式等重置,仔細測試後覺得貌似是排序時datagridview重新繫結了資料來源,具體不得而知.實在沒有辦法破解,我也不想重新寫比較來排序,用了最土的辦法,...

QTableWidget 自定義排序

qtablewidget功能強大,可以在每個格仔裡新增自己的wiget部件。如果想對這些自己新增的widget進行排序有兩種方法。一種是直接設定每個格仔對應的qtablewidgetitem的值,因為qtablewidget預設是據qtablewidgetitem來排序,呼叫的比較函式是 bool ...