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...