51 set集合若存進去重複的物件 解決措施

2021-10-12 19:14:31 字數 923 閱讀 1248

如果set集合中能儲存進去重複的物件,就是說明沒有重寫hashcode方法和equals方法,用alt+insert就能自動重寫hashcode方法和equals方法。

//主方法呼叫

public

class

hashsetperson

}

輸出結果://不重寫hashcode()和equals()

2129789493

668386784

false

false

[person, person, person]

例如例子中命名定義的兩個內容都是一樣的,都是,但卻同時存進了set集合中,這就和set集合不能訪問重複集合相違背了,所以我們需要重寫hashcode()和equals()這兩個方法。

//person類

public

class

person

public

person

(string name,

int age)

@override

public string tostring()

';}@override

public

boolean

equals

(object o)

@override

public

inthashcode()

}

輸出結果://重寫後

652098813

652098813

false

true

[person, person]

Collection集合 (set集合)

不包含重複元素的集合 即使新增重複元素之後,最終也只能顯示乙個 沒有帶索引的方法,所以不能使用普通的for迴圈遍歷 hashset 對集合的迭代順序不作任何保證 object類中有乙個方法可以獲取物件的雜湊值 public int hashcode 返回物件的雜湊碼值 物件的雜湊值特點 同乙個物件多...

List集合 Set集合

一 請簡述list介面的特點。v 它是乙個元素訪問有序的集合。例如,存元素的順序是11 22 33。那麼集合中,元素的儲存就是按照11 22 33的順序完成的 v 它是乙個帶有索引的集合,通過索引就可以精確的操作集合中的元素 與陣列的索引是乙個道理 v 集合中可以有重複的元素,通過元素的equals...

51nod 1557 兩個集合(Set)

題意 給你a和b,小x有n個互不相同的整數 p1,p2,pn 他想把這些整數分到兩個集合a和b裡邊。但是要符合下面兩個條件。如果x屬於a,那麼a x也肯定屬於a。如果x屬於b,那麼b x也肯定屬於b。思路 如果a x,b x都不存在那麼就是a,b都不能放,no。如果a x,b x只存在其中乙個,那就...