List集合存儲數據的結構
堆棧:先進后出 例如擔架 先進去的 后出來
---------------------------------------------------------------------------------------------------------
隊列:先進的先出 后進的后出
-------------------------------------------------------------------------------------------------------------------------------------
數組:增刪慢 查詢快 因為有下標
-----------------------------------------------------------------------------------------------
鏈表:增刪快 查找慢 因為鏈表不存在下標
ArrayList是數組,LinkedList是鏈表
ArrayList和linkedList的區別:
ArrayList底層是數組 查找快 增刪慢 因為有下標 所以查找快 因為數組長度不可變 需要new一個新數組所以增刪慢
LinkedList 底層是鏈表 查找慢 增刪快 因為沒有下標 所以查找慢 他們是節點之間的連接 不需要新建一個鏈表
JAVA中的數據結構有哪些:堆棧,隊列 ,數組,鏈表
ArrayList集合
ArrayList集合數據存儲的結構是數組結構。元素增刪慢,查找快,由於日常開發中使用最多的功能為查詢數據、遍歷數據,所以ArrayList是最常用的集合。
LinkedList集合
Vector集合
Vector集合數據存儲的結構是數組結構,為JDK中最早提供的集合。Vector中提供了一個獨特的取出方式,就是枚舉Enumeration,它其實就是早期的迭代器
。此接口Enumeration的功能與 Iterator 接口的功能是類似的。Vector集合已被ArrayList替代。枚舉Enumeration已被迭代器Iterator替代。
Set接口
那就是Set接口,它里面的集合,所存儲的元素就是不重復的。
Set接口介紹
查閱Set集合的API介紹,通過元素的equals方法,來判斷是否為重復元素,
HashSet集合介紹
查閱HashSet集合的API介紹:此類實現Set接口,由哈希表支持(實際上是一個 HashMap集合)。HashSet集合不能保證的迭代順序與元素存儲順序相同。
HashSet集合,采用哈希表結構存儲數據,保證元素唯一性的方式依賴於:hashCode()與equals()方法。
HashSet集合存儲數據的結構(哈希表)
數組和鏈表的集合體就叫哈希表
hashcode方法
HashSet存儲圖