1:長度的區別:陣列的長度固定集合的長度可變
2:內容:陣列儲存的是同一種型別的元素集合可以儲存不同型別的元素(但是一般我們不這樣幹…)
3:元素的資料型別:陣列可以儲存基本資料型別,也可以儲存引用型別集合只能儲存引用型別(你儲存的是簡單的int,它會自動裝箱成integer)
list基礎知識
collection是單列集合
vector初始容量是10,擴容增量:原來的1倍
vector執行緒安全,但是速度慢
arraylist初始容量是10,擴容增量:原來容量*0.5+1
arraylist執行緒不安全,查詢速度快
list集合遍歷
list介面集合可以儲存重複的資料,有下標
list介面集合的遍歷:
for迴圈遍歷
public
class
arraylisttest
}}
iterator迭代器遍歷
public
class
arraylisttest
}}
總結:list介面集合有下標,所有用迭代器顯得很雞肋。
set集合基本知識
set集合不儲存重複的資料,物件呼叫hashcode和equals方法,因為輸入重複的資料,hashcode得到的雜湊值相等,不能存入。
hashset初始容量是16,載入因子為0.75,即當元素個數超過容量長度的0.75倍 時,進行擴容,擴容增量是原容量的1倍。
hashset執行緒不安全,訪問速度快
set集合遍歷
for迴圈遍歷
public
class
treesettest
}}
iterator迭代器遍歷
public
class
treesettest
}}
總結:儘管set沒有下標,是無序的,但還是可以通過for迴圈遍歷
treeset排序:
前面說set集合是無序的,但是treeset集合可以是有序的,存入treeset集合的物件需要實現comparable介面;string類實現了comparable介面。compareto方法相等返回0,公升序返回1,降序返回-1
學生類:
public
class
student
implements
comparable
public
student
(string name,
int age)
public string getname()
public
void
setname
(string name)
public
intgetage()
public
void
setage
(int age)
@override
public string tostring()
//重寫比較方法
@override
public
intcompareto
(student stu)
elseif(
this
.age
getage()
)else
}}
測試類:
public
class
testtreeset
treeset
set2 =
newtreeset
<
>()
; student stu1 =
newstudent
("zsn",21
);student stu2 =
newstudent
("jzl",21
);student stu3 =
newstudent
("sl",20
);student stu4 =
newstudent
("zjh",19
);set2.
add(stu1)
; set2.
add(stu2)
; set2.
add(stu3)
; set2.
add(stu4)
;//迭代器遍歷
iterator
iterator2 = set2.
iterator()
;while
(iterator2.
hasnext())}}
map集合基礎知識
map是雙列集合介面,以鍵值對的儲存方式,乙個鍵值對就是乙個map.entry物件,最常用的雙列集合是hashmap
hashmap預設初始容量是16,長度始終保持2的n次方,載入因子為0.75,擴容增量:原容量的1倍
hashmap在某種條件下:速度比hashset快
他們倆都必須計算雜湊碼,但要考慮hashmap的鍵的性質-它通常是乙個簡單的string甚至是乙個數字。而 string和integer的計算雜湊碼的速度 比 整個物件的預設雜湊碼 計算要快得多,如果hashmap的鍵與儲存在hashset中的鍵是相同的物件,則效能將沒有真正的區別。區別在於hashmap的鍵是哪種物件。
hashmap執行緒不安全
hashtable預設初始容量是11,載入因子為0.75,擴容增量:2*原陣列長度+1
hashtable執行緒安全,但是速度慢,不允許key/value為null
hashmap集合遍歷
迭代器iterator,keyset方法
public
class
hashmaptest
}}
for迴圈,entryset方法
public
class
hashmaptest1
}}
Collection集合的遍歷執行示例
iterator 迭代器,集合的專用遍歷方式 iterator iterator 返回此集合中元素的迭代器,通過集合的iterator 方法得到 迭代器是通過集合的iterator 方法得到的,所以我們說它是依賴於集合而存在的 iterator中的常用方法 e next 返回迭代中的下乙個元素 bo...
集合 Collection集合總結
list有序,可重複 abstractlist 父類abstractcollection抽象類,實現了list介面 arraylist 父類abstractlist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,不同步,效率高 vector 父類abstractlist 底層資料結構是陣列,查詢...
Collection集合,List集合
一 collection集合 a collection 集合 單身漢集合 list 特點 有序,可重複,有索引 arraylist 重點掌握 linkedlist 儲存的元素不可重複,訪問順序一致 set 無序,元素不可重複,元素無索引 hashset 重點掌握 linkedhashset tree...