更新時(shí)間:2020-01-08 10:24:04 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2803次

Collection
數(shù)組: 存儲(chǔ)同一種數(shù)據(jù)類型的集合容器。
數(shù)組的特點(diǎn):
1. 數(shù)組是相同數(shù)據(jù)類型(數(shù)據(jù)類型可以為任意類型)的有序集合
2. 數(shù)組也是對(duì)象。數(shù)組元素相當(dāng)于對(duì)象的成員變量(詳情請(qǐng)見內(nèi)存圖)
3. 數(shù)組長(zhǎng)度的確定的,不可變的。如果越界,則報(bào):ArrayIndexOutofBoundsException
4.數(shù)組中的元素與元素之間的內(nèi)存地址是連續(xù)的。
初始化
默認(rèn)初始化:數(shù)組元素相當(dāng)于對(duì)象的成員變量,默認(rèn)值跟成員變量的規(guī)則一樣。數(shù)字0,布爾false,char\\u0000,引用:null。
初始化方法:
1:構(gòu)造器方法,Collection的構(gòu)造器接受另外一個(gè)Collection,用它來進(jìn)行初始化
比如:
Collection
2:Collections.addAll()方法接受一個(gè)Collection對(duì)象,以及一個(gè)數(shù)組或是一個(gè)用逗號(hào)分割的列表,將其添加到Collection中
比如:
Collections.addAll(collection,11,12,13,14,15);
Collections.addAll(collection,moreInts);
3:Collection.addAll()方法將一個(gè)Collection對(duì)象全部添加進(jìn)去
比如:collection.addAll(Arrays.asList(moreInts));
collection主要方法:
boolean add(Object o):添加對(duì)象到集合
boolean remove(Object o):刪除指定的對(duì)象
int size():返回當(dāng)前集合中元素的數(shù)量
boolean contains(Object o):查找集合中是否有指定的對(duì)象
boolean isEmpty():判斷集合是否為空
Iterator iterator():返回一個(gè)迭代器
boolean containsAll(Collection c):查找集合中是否有集合c中的元素
boolean addAll(Collection c):將集合c中所有的元素添加給該集合
void clear():刪除集合中所有元素
void removeAll(Collection c):從集合中刪除c集合中也有的元素
void retainAll(Collection c):從集合中刪除集合c中不包含的元素
collection主要子接口對(duì)象:

1、Collection接口
Collection是最基本集合接口,它定義了一組允許重復(fù)的對(duì)象。Collection接口派生了兩個(gè)子接口Set和List,分別定義了兩種不同的存儲(chǔ)方式
2、 Set接口
Set接口繼承于Collection接口,它沒有提供額外的方法,但實(shí)現(xiàn)了Set接口的集合類中的元素是無(wú)序且不可重復(fù)。
特征:無(wú)序且不可重復(fù)。
3、 List接口
List接口同樣也繼承于Collection接口,但是與Set接口恰恰相反,List接口的集合類中的元素是對(duì)象有序且可重復(fù)。
特征:有序且可重復(fù)。
兩個(gè)重要的實(shí)現(xiàn)類:ArrayList和LinkedList
1.ArrayList特點(diǎn)是有序可重復(fù)的
2.LinkedList是一個(gè)雙向鏈表結(jié)構(gòu)的。
4.Map
Map沒有繼承Collection接口,Map提供key到value的映射。
├Hashtable 任何非空(non-null)的對(duì)象。同步的
├HashMap 可空的對(duì)象。不同步的 ,但是效率高,較常用。 注:迭代子操作時(shí)間開銷和HashMap的容量成比例。因此,如果迭代操作的性能相當(dāng)重要的話,不要將HashMap的初始化容量設(shè)得過高,或者load factor過低。
└WeakHashMap 改進(jìn)的HashMap,它對(duì)key實(shí)行“弱引用”,如果一個(gè)key不再被外部所引用,那么該key可以被GC回收。
SortMap---TreeMap
5.iterator
它是一個(gè)對(duì)象,它可以遍歷并選擇序列中的對(duì)象。
Java中的Iterator功能比較簡(jiǎn)單,并且只能單向移動(dòng):
(1) 使用方法iterator()要求容器返回一個(gè)Iterator。第一次調(diào)用Iterator的next()方法時(shí),它返回序列的第一個(gè)元素。注意:iterator()方法是java.lang.Iterable接口,被Collection繼承。
(2) 使用next()獲得序列中的下一個(gè)元素。
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除。

Java中的集合這節(jié)先講到這,接下來會(huì)逐一講解它們的作用和用法。
Javase相關(guān)視頻免費(fèi)下載學(xué)習(xí)
Javase視頻教程【301集】:http://www.soulsinkind.com/v104/
Java視頻下載【JavaSE進(jìn)階】:http://www.soulsinkind.com/v61/
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“JavaSE基礎(chǔ)視頻教程-持有對(duì)象之集合”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
最新Java學(xué)習(xí)路線(適用于初學(xué)者)
系統(tǒng)學(xué)習(xí)Java后端開發(fā)線路
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)