java類集 排序及重複元素說明

2021-08-09 03:27:08 字數 1231 閱讀 1987

一,本章目標

掌握treeset的排序原理

掌握set介面中重複元素的定義

二,具體內容

treeset類的內容是可以排序的,那麼現在我任意給出乙個類,觀察是否能進行排序。

乙個物件陣列想要排序則要依靠comparable介面完成。那麼對於treeset一樣,如果想排序,物件的類也要實現comparable介面

此時是可以排序的,但是在結果中,重複的元素只有乙個。此時依靠的是comparable介面來完成的,而且還可以發現,趙六並沒有加入進來,因為他與李四的年齡是一樣的。

此時comparable介面比較的只是年齡,所以為了保證正確,所有的屬性都應該進行比較。

修改comparableto方法

可以發現趙六出來的。

此時去掉的重複元素並不是真正意義上的重複元素的取消。

此時重複元素並沒有取消。

如果想要取消掉重複的元素,則需要object類中的兩個方法幫助:

hashcode:表示乙個唯一的編碼,一般通過計算表示

equals:物件的比較操作

修改person中的**:

現在可以發現重複元素沒有了。

三,總結

曾經強調過,乙個好的類,應該覆寫equal,hashcode,tostring方法,string類已經覆寫完了

set介面依靠hashcode和equals方法完成重複元素判斷

treeset介面依靠comparable介面完成排序操作

排序並刪除重複元素

usr bin python coding utf 8 def select sort lst left,right 0,len lst while left right p,i left,left 1 while i right if lst i lst p 覆蓋重複元素,陣列長度減一,即右邊界左...

統計每個元素重複次數及重複元素

僅統計列表中重複的元素 獲取單個元素的出現次數,使用list中的count方法,count方法,可以返回該元素出現的次數 l 10 11,12 13,15 14,10 10,10 12,12 13 re 獲取單個元素的出現次數,使用list中的count方法 for i in l if l.coun...

java中刪除list重複元素

方法一 迴圈元素刪除 刪除arraylist中重複元素 public static void removeduplicate list list system.out.println list 方法二 通過hashset剔除 刪除arraylist中重複元素 public static void r...