java集合彙總(三) Set

2021-09-01 08:11:54 字數 996 閱讀 9747

public inte***ce setextends collection

不包含重複元素的集合。

繼承方法請看  collection

boolean add(e e)如果指定的元素不存在,則將其指定的元素新增。  

boolean addall(collection<? extends e> c)將指定集合中的所有元素新增到此集合(如果尚未存在)。  

public class hashsetextends abstractset

用雜湊儲存的set集合  底層是hashmap儲存的    特點: set取值時不保證資料和存入的時候順序一致,不允許重複值

構造方法    初始化乙個hashmap 用來儲存資料

private transient hashmapmap;

public hashset()

boolean add(e e)新增hashmap資料 e新增到map對應的key中 value新增乙個null物件

private static final object present = new object();

public boolean add(e e)

boolean remove(object o)利用map刪除key值 然後把刪除的值 =null  用於gc

public boolean remove(object o)
此類實現set介面,實現基於treemap   可以實現排序等功能的集合

特點 儲存的數值必須提供比較器    內部根據比較器自動排序   保持集合有序性

雜湊表和煉表實現了set介面,具有可**的迭代次序.

特點   鍊錶來保持插入順序,不過為了提高查詢效率,也使用了雜湊。 

Java集合 Set集合總結

特點 無序 不允許重複的 實現類 hashset 通過hash碼資料結構進行儲存的 無序 不重複 如果想要判斷兩個物件是否是同乙個物件 通常情況比較位址,但是現在需要通過制定內容來判斷是否相同 hashcode 判斷的其各個屬性的hashcode 而非物件真正的位址 結論 如果hashcode相同 ...

JAVA集合學習 Set

可以分為3種集合set list,map,其中常用的有hashset,arraylist,hashmap 1,collection是set,list,queue3個介面的父介面主要方法如下 collection a new arraylist collection b new arraylist 新...

Java集合 Set架構

set的實現類是基於map來實現的 hashset是通過hashmap實現的,treeset是通過treemap實現的 首先,我們看看set架構。01 set 是繼承於collection的介面。它是乙個不允許有重複元素的集合。02 abstractset 是乙個抽象類,它繼承於abstractco...