set集合
(1)set集合的特點
無序,唯一
(2)hashset集合(掌握)
a:底層資料結構是雜湊表(是乙個元素為鍊錶的陣列)
b:雜湊表底層依賴兩個方法:hashcode()和equals()
執行順序:
首先比較雜湊值是否相同
相同:繼續執行equals()方法
返回true:元素重複了,不新增
返回false:直接把元素新增到集合
不同:就直接把元素新增到集合
c:如何保證元素唯一性的呢?
由hashcode()和equals()保證的
d:開發的時候,**非常的簡單,自動生成即可。
e:hashset儲存字串並遍歷
f:hashset儲存自定義物件並遍歷(物件的成員變數值相同即為同乙個元素)
(3)treeset集合
a:底層資料結構是紅黑樹(是乙個自平衡的二叉樹)
b:保證元素的排序方式
a:自然排序(元素具備比較性)
讓元素所屬的類實現comparable介面
b:比較器排序(集合具備比較性)
讓集合構造方法接收comparator的實現類物件
list的子類
(1)list的子類特點
arraylist:
底層資料結構是陣列,查詢快,增刪慢
執行緒不安全,效率高
vector:
底層資料結構是陣列,查詢快,增刪慢
執行緒安全,效率低
linkedlist:
底層資料結構是鍊錶,查詢慢,增刪快
執行緒不安全,效率高
(2)arraylist
a:沒有特有功能需要學習
b:案例
a:arraylist儲存字串並遍歷
b:arraylist儲存自定義物件並遍歷
(3)vector
a:有特有功能
a:新增
public void addelement(e obj) – add()
b:獲取
public e elementat(int index) – get()
public enumeration elements() – iterator()
b:案例
a:vector儲存字串並遍歷
b:vector儲存自定義物件並遍歷
(4)linkedlist
a:有特有功能
a:新增
addfirst()
addlast()
b:刪除
removefirst()
removelast()
c:獲取
getfirst()
getlast()
map
(1)將鍵對映到值的物件。乙個對映不能包含重複的鍵;每個鍵最多只能對映到乙個值。
(2)map和collection的區別?
a:map 儲存的是鍵值對形式的元素,鍵唯一,值可以重複。夫妻對
b:collection 儲存的是單獨出現的元素,子介面set元素唯一,子介面list元素可重複。光棍
(3)map介面功能概述(自己補齊)
a:新增功能
b:刪除功能
c:判斷功能
d:獲取功能
e:長度功能
(4)map集合的遍歷
a:鍵找值
a:獲取所有鍵的集合
b:遍歷鍵的集合,得到每乙個鍵
c:根據鍵到集合中去找值
b:鍵值對物件找鍵和值
a:獲取所有的鍵值對物件的集合
b:遍歷鍵值對物件的集合,獲取每乙個鍵值對物件
c:根據鍵值對物件去獲取鍵和值
java高階特性之 集合
iterator iterator 功能 返回乙個在一組t型別的元素上進行迭代的迭代器迭代器是實現了 iterator listiterator介面的類的物件,可以通過遍歷類集,訪問操作其中每乙個元素。listiterator 擴充套件了父介面iterator,允許雙向遍歷集合,並可以修改和刪除元素...
Java基礎 集合
1 集合的型別和各自的特性 collection 單列集合 list 有儲存順序 可重複 arraylist 陣列實現,查詢快,增刪慢,由於是陣列實現,在增和刪的時候會牽扯到陣列增容,以及拷貝元素 所以慢。陣列是可以直接按索引查詢,所以查詢時較快 linkedlist 鍊錶實現,增刪快,查詢慢由於鍊...
java基礎 集合
1 物件的儲存 陣列 基本資料型別 引用資料型別 集合 引用資料型別 陣列儲存資料的弊端 長度一旦初始化以後,就不可變 真正給陣列元素賦值的個數沒有現成的方法可用。2 集合框架 collection介面 list介面 儲存有序的,可以重複的元素,相當於 動態 陣列 新增進list集合中的元素 或物件...