Set集合相關20200917

2021-10-09 12:12:43 字數 763 閱讀 4780

1,set集合,繼承自collection,不包含重複的元素。沒有帶索引的方法,所以不能使用普通for迴圈。而進行遍歷時,不一定按照順序取值。

2,雜湊值是jdk通過字串或者數值或者物件的位址經過運算得到的乙個整型的數值。預設情況下,不同物件的雜湊值是不相同的,但是通過在類中對雜湊值進行重寫,可以實現雜湊值相同的情況。

3,雜湊表(hashset),也是不能儲存相同的元素,預設大小為16,所以即[0–15],一般先是元素的雜湊值%16,得到的值儲存進去,然後如果有其他元素%16與之前已經儲存的元素相等,那麼以此比較雜湊值和內容,雜湊值不相等直接以鍊錶的形式儲存至對應位置處,如果雜湊值相等那就比較元素內容,元素內容不相等那就同樣儲存,如果元素內容也相等,那麼判定該元素為重複元素,不儲存該元素。

4,linkedhashset低層結構為雜湊表和煉表,儲存順序與遍歷順序是一致的,這種一致性由鍊錶保證;元素同樣不能重複,由雜湊表來保證。

5,treeset的元素有序是指按照一定的規則進行排序,排序的規則取決於構造方法。(1)無參構造,自然排序,如a–z;(2)有參構造treeset(comparator comparator),根據指定的比較器進行排序。

同樣treeset沒有帶索引的方法所以不能使用普通for迴圈進行遍歷,可以使用迭代器或者增強for迴圈。

6,再提一句,集合只能儲存引用型別,所以儲存int是要用。

9,比較器comparator,可以自然排序,但是有些不能進行自然排序就必須實現comparator《泛型》這個介面了,重寫方法時注意主次要的順序。

Set集合相關經典題目

1 在list內去除重複數字值,要求盡量簡單 2 寫出下題輸出結果 1 建立乙個person類,重寫equals 和hashcode 方法 public class person public person int id,string name override public string tost...

Collection集合 (set集合)

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

List集合 Set集合

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