Collection
數(shù)組: 存儲同一種數(shù)據(jù)類型的集合容器。
數(shù)組的特點:
1. 數(shù)組是相同數(shù)據(jù)類型(數(shù)據(jù)類型可以為任意類型)的有序集合
2. 數(shù)組也是對象。數(shù)組元素相當于對象的成員變量(詳情請見內(nèi)存圖)
3. 數(shù)組長度的確定的,不可變的。如果越界,則報:ArrayIndexOutofBoundsException
4.數(shù)組中的元素與元素之間的內(nèi)存地址是連續(xù)的。
初始化
默認初始化:數(shù)組元素相當于對象的成員變量,默認值跟成員變量的規(guī)則一樣。數(shù)字0,布爾false,charu0000,引用:null。
初始化方法:
1:構(gòu)造器方法,Collection的構(gòu)造器接受另外一個Collection,用它來進行初始化
比如:
Collection
2:Collections.addAll()方法接受一個Collection對象,以及一個數(shù)組或是一個用逗號分割的列表,將其添加到Collection中
比如:
Collections.addAll(collection,11,12,13,14,15);
Collections.addAll(collection,moreInts);
3:Collection.addAll()方法將一個Collection對象全部添加進去
比如:collection.addAll(Arrays.asList(moreInts));
collection主要方法:
boolean add(Object o):添加對象到集合
boolean remove(Object o):刪除指定的對象
int size():返回當前集合中元素的數(shù)量
boolean contains(Object o):查找集合中是否有指定的對象
boolean isEmpty():判斷集合是否為空
Iterator iterator():返回一個迭代器
boolean containsAll(Collection c):查找集合中是否有集合c中的元素
boolean addAll(Collection c):將集合c中所有的元素添加給該集合
void clear():刪除集合中所有元素
void removeAll(Collection c):從集合中刪除c集合中也有的元素
void retainAll(Collection c):從集合中刪除集合c中不包含的元素
collection主要子接口對象:
1、Collection接口
Collection是最基本集合接口,它定義了一組允許重復的對象。Collection接口派生了兩個子接口Set和List,分別定義了兩種不同的存儲方式
2、 Set接口
Set接口繼承于Collection接口,它沒有提供額外的方法,但實現(xiàn)了Set接口的集合類中的元素是無序且不可重復。
特征:無序且不可重復。
3、 List接口
List接口同樣也繼承于Collection接口,但是與Set接口恰恰相反,List接口的集合類中的元素是對象有序且可重復。
特征:有序且可重復。
兩個重要的實現(xiàn)類:ArrayList和linkedList
1.ArrayList特點是有序可重復的
2.linkedList是一個雙向鏈表結(jié)構(gòu)的。
4.Map
Map沒有繼承Collection接口,Map提供key到value的映射。
├Hashtable 任何非空(non-null)的對象。同步的
├HashMap 可空的對象。不同步的 ,但是效率高,較常用。 注:迭代子操作時間開銷和HashMap的容量成比例。因此,如果迭代操作的性能相當重要的話,不要將HashMap的初始化容量設(shè)得過高,或者load factor過低。
└WeakHashMap 改進的HashMap,它對key實行“弱引用”,如果一個key不再被外部所引用,那么該key可以被GC回收。
SortMap---TreeMap
5.iterator
它是一個對象,它可以遍歷并選擇序列中的對象。
Java中的Iterator功能比較簡單,并且只能單向移動:
(1) 使用方法iterator()要求容器返回一個Iterator。第一次調(diào)用Iterator的next()方法時,它返回序列的第一個元素。注意:iterator()方法是java.lang.Iterable接口,被Collection繼承。
(2) 使用next()獲得序列中的下一個元素。
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除。
Java中的集合這節(jié)先講到這,接下來會逐一講解它們的作用和用法。
Javase相關(guān)視頻免費下載學習
Javase視頻教程【301集】:http://www.bjpowernode.com/v104/
Java視頻下載【JavaSE進階】:http://www.bjpowernode.com/v61/
以上就是深圳達內(nèi)教育Java培訓機構(gòu)小編介紹的“JavaSE基礎(chǔ)視頻教程-持有對象之集合”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)內(nèi)容
最新Java學習路線(適用于初學者)
系統(tǒng)學習Java后端開發(fā)線路
Javase——IO流概述、特點及其分類