Collection框架中實現比較要實現什麼介面?

2022-07-11 00:15:15 字數 805 閱讀 9201

因此treemap的

key、

treeset

的集合元素,都需要可以比較大小。集合框架中之比較大小的有兩種方式:

a.自然排序:對於自然排序來說,要求

treemap

中的所有

key都實現

comparable介面,實現該介面時需要實現乙個int compareto(t o)方法,用於判斷當前物件與o物件之間的大小關係。如果該方法返回正整數,則說明當前物件大於

o物件;如果該方法返回

0,說明兩個物件相等;如果該方法返回負整數,則說明當前物件小於

o物件;

jdk的很多類都已經實現了

comparable介面,例如string、

date

、bigdecimal

等。b.定製排序:定製排序需要在建立

treemap

或treeset

時傳入乙個

comparator物件,此時treemap或

treeset

不再要求

key、集合元素本身是可比較大小的,而是由

comparator來負責比較集合元素的大小。comparator本身只是乙個介面,因此建立comparator物件只能是建立它的實現類的物件,comparator的實現類需要實現int compare(t o1, t o2)方法,該方法用於判斷o1、

o2兩個物件的大小,如果該方法返回正整數,則說明

o1大於

o2、如果該方法返回負整數,則說明

o1小於

o2、如果返回

0,則說明兩個物件相等。

Collection框架中實現比較要實現什麼介面

comparable和 comparator介面 如果乙個類的不同物件需要比較大小,那麼就需要實現這兩個介面,根據業務需求定義規則。使用區別 1 comparable介面 是需要比較的類實現自己實現,例如 定義的student類需要比較,需要student類自己實現這個介面,實現comparato ...

集合框架 Collection

collection是集合框架體系中的根介面,它有兩個常用的子介面,別是list和set list 有序 儲存順序和取出順序一致 可重複。實現了list介面的子類以及這些子類的區別 arraylist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高。vector 底層資料結構是陣列,查詢快...

集合框架Collection

collection集合用於儲存物件,長度是可變的,共有的方法有 增 add 刪 remove 獲取 size 判斷 contains,isempetylist 集合是 有順序,可以重複,其中特有的方法有 獲取 get sublist listiterator 改 set arraylist 底層是...