Set的子類介面特有方法和使用方法

2021-06-22 08:30:51 字數 1751 閱讀 3693

set介面中的方法和collection中方法一致的。set介面取出方式只有一種,迭代器

|--hashset

底層資料結構是雜湊表,執行緒是不同步的無序,高效;

hashset

集合保證元素唯一性:通過元素的hashcode方法,和equals方法完成的。

當元素的hashcode值相同時,才繼續判斷元素的equals是否為true。

如果為true,那麼視為相同元素,不存。如果為false,那麼儲存。

如果hashcode值不同,那麼不判斷equals,從而提高物件比較的速度。

|--linkedhashset

:有序,hashset的子類。

|--treeset

對set集合中的元素的進行指定順序的排序。不同步。treeset底層的資料結構就是二叉樹。

對於arraylist集合,判斷元素是否存在,或者刪元素底層依據都是equals方法。

例如:

將自定義物件作為元素存到arraylist集合中,並去除重複元素。

比如:存人物件。同姓名同年齡,視為同乙個人。為重複元素。

思路:1,對人描述,將資料封裝進人物件。

2,定義容器,將人存入。

3,取出。

list集合判斷元素是否相同,依據是元素的equals方法。

class personaldemo

public string getname()

public int getage()

public boolean equals(object obj)

}

public static arraylist singleelement(arraylist al)

return newal;

}

//迭代器
iterator it = al.iterator();

while(it.hasnext())

對於hashset集合,判斷元素是否存在,或者刪除元素,底層依據的是hashcode方法和equals方法

例如:

往hashset集合中存入自定物件

姓名和年齡相同為同乙個人,重複元素。

class personhsdemo

public string getname()

public int getage()

public int hashcode()

public boolean equlas(object obj) }

//迭代器

iterator it = hs.iterator();

while(it.hasnext())

15 3 List介面特有方法

list介面特有方法 有序 有序 指進出的順序是一樣的 只有list介面中特有的方法具備的特點,其他介面下面的集合類都是沒有索引值的 新增add int index,e element addall int index,collection c 獲取get indexof object o list...

Properties作為集合的特有方法練習

object setproperty string key,string value 設定集合的鍵和值,都是string型別,底層呼叫時hashtablepublic class propertiesdemo02 object put object key,object value prop.set...

python子類中呼叫父類私有方法和私有資料域

我們在python中從某父類繼承子類時,可以在子類中對父類的資料域和方法操作,但是當該資料域或方法為私有時 有雙下劃線作為字首 應注意呼叫格式如下 子類呼叫父類私有資料域 self.父類名 私有資料網域名稱 子類呼叫父類私有方法 self.父類名 私有方法名 如下 classaa 定義父類aa de...