Collection集合遍歷

2021-10-11 03:21:58 字數 3446 閱讀 4962

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