Java基礎 集合

2021-07-27 06:15:21 字數 2081 閱讀 9933

1、集合的型別和各自的特性

---|collection: 單列集合

---|list: 有儲存順序

,可重複

---|arraylist: 陣列實現,查詢快,

增刪慢,由於是陣列實現,

在增和刪的時候會牽扯到陣列增容,

以及拷貝元素

,所以慢。陣列是可以直接按索引查詢,

所以查詢時較快

---|linkedlist: 鍊錶實現,

增刪快,

查詢慢由於鍊錶實現

,增加時只要讓前乙個元素記住自己就可以

,刪除時讓前乙個元素記住後乙個元素

,後乙個元素記住前乙個元素

.這樣的增刪效率較高但查詢時需要乙個乙個的遍歷

,所以效率較低

---|vector: 和arraylist

原理相同

,但執行緒安全

,效率略低。 和arraylist

實現方式相同

,但考慮了執行緒安全問題

,所以效率略低

---|set: 無儲存順序

, 不可重複

---|hashset執行緒不安全,訪問速度快。底層是以雜湊表實現的。

---|treeset紅-

黑樹的資料結構,預設對元素進行自然排序(string

)。如果在比較的時候兩個物件返回值為0

,那麼元素重複。

---| map: 鍵值對   鍵不可重複,鍵可以重複

---|hashmap執行緒不安全,訪問速度快。底層是以雜湊表實現的.

---|treemap紅-

黑樹的資料結構,預設對元素進行自然排序(string

)。如果在比較的時候兩個物件返回值為0

,那麼元素重複

---|hashtable底層也是使用了雜湊表 維護的,訪問的讀取快,儲存元素是無序的。

2、遍歷集合的幾種方式

a.使用迭代器iterator的方式。

b.使用增強for迴圈的方式。

c.如果有下標,則可以使用下標的方式。

3、示例

a.遍歷陣列

public static void main(string args);

//1.增強的for迴圈方式

for(string elt :arr)

//2.下標方式

for(int i=0;isystem.out.println(arr[i]);}}

b.遍歷list public static void main(string args)

// 2.下標

for(inti = 0; i < list.size(); i++)

// 3.迭代器

for(iteratoriter = list.iterator(); iter.hasnext();)

}c.遍歷set

public static voidmain(string args)

// 2,迭代器

for(iteratoriter = set.iterator(); iter.hasnext() ; )

}d.遍歷map

public static voidmain(string args)

// 2,增強的

for迴圈(

key集合)

for(string key : map.keyset())

// 3,遍歷值的集合

for(string value : map.values())

}

java基礎 集合

1 物件的儲存 陣列 基本資料型別 引用資料型別 集合 引用資料型別 陣列儲存資料的弊端 長度一旦初始化以後,就不可變 真正給陣列元素賦值的個數沒有現成的方法可用。2 集合框架 collection介面 list介面 儲存有序的,可以重複的元素,相當於 動態 陣列 新增進list集合中的元素 或物件...

java基礎 集合1

1 陣列和集合的區別,陣列存放同一型別的物件,集合可以存放不同型別的物件 陣列長度一定,集合長度不一定 2 資料在記憶體中的儲存結構稱為資料結構 3 集合和陣列存放的都是物件的位址 4 list有序 可以重複的 凡是可以操作角標的方法都是特有方法,增刪改查 增 add addall 刪 remove...

java基礎之集合

1.collectiton 單列儲存集合 list 元素是有序的,元素可以重複。因為該集合體系有索引 arraylist 底層的資料結構使用的是陣列結構 特點 陣列元素查詢很快,但是增刪很慢,因為增刪乙個元素,陣列後面的其他元素都需要變動,執行緒不同步 linklist 底層的資料結構使用的是鍊錶資...