HashSet保證資料唯一的原理

2021-07-05 05:54:05 字數 1050 閱讀 2121

hashset 的底層判斷原理

資料結構是雜湊表,執行緒是非同步的.

保證元素唯一性的原理:判斷元素的hascode值,若hashcode值相同,則用equals()方法來判斷,

若還相同則這兩個值是相等的,則不訪問這個物件

是通過元素的兩個方法hashcode()和equals()方法來完成

對於判斷元素是否存在以及刪除等操作都要通過hashcode()和equals()方法來判斷

arraylist用來判斷元素是否存在用的是equals()方法

/*** @author lwen

* @version

* @date 2023年7月2日

*/public class hashsetdemo4 }}

class student4

public student4(string name, int age)

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

//重寫hashcode()方法,底層先判斷元素的hashcode值

@override

public int hashcode()

//上面的hashcode值若相同再來用這個方法判斷

@override

public boolean equals(object obj)

student4 sd = (student4)obj;

system.out.println(this.name+"-----equals------"+sd.name);

return this.name.equals(sd.name) && this.age == sd.age;

}//重寫tostring方法,用來列印的

@override

public string tostring()

}

HashSet保證元素唯一原理

1.hashset保證元素唯一原理 依賴於hashcode 和equals 方法 2.唯一原理 2.1 當hashset集合要儲存元素的時候,會呼叫該元素的hashcode 方法計算雜湊值 2.2 判斷該雜湊值對應的位置上,是否有元素 2.3 如果該雜湊值位置上沒有元素,那麼就直接儲存該元素 2.4...

HashSet保證元素唯一性

set儲存的資料是唯一性的,是通過儲存的物件的兩個方法進行唯一性判斷的hashcode 和equals 在呼叫集合的add e e 方法時,會進行判斷,通過e.hashcode 獲取要新增物件的hash值,和集合裡面的物件進行判斷,如果hash值不一樣,則會儲存。如果一樣,則會呼叫equals 方法...

HashSet保證元素唯一性原理

使用set集合都是需要去掉重複元素來保證元素的唯一性 如果在儲存的時候逐個equals 比較,效率較低,雜湊演算法提高了去重複的效率,降低了使用equals 方法的次數 當hashset呼叫add 方法儲存物件的時候,先呼叫物件的hashcode 方法得到乙個雜湊值,然後在集合中查詢是否有雜湊值相同...