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ù)組長度的確定的,不可變的。如果越界,則報(bào):ArrayIndexOutofBoundsException
4.數(shù)組中的元素與元素之間的內(nèi)存地址是連續(xù)的。
初始化
默認(rèn)初始化:數(shù)組元素相當(dāng)于對(duì)象的成員變量,默認(rèn)值跟成員變量的規(guī)則一樣。數(shù)字0,布爾false,charu0000,引用:null。
初始化方法:
1:構(gòu)造器方法,Collection的構(gòu)造器接受另外一個(gè)Collection,用它來進(jìn)行初始化
比如:
Collection<Integer>collection=new ArrayList<Integer>(Arrays.asList(1,2,3,4,5));
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接口的集合類中的元素是無序且不可重復(fù)。
特征:無序且不可重復(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
以上就是長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Javase免費(fèi)視頻教程下載:持有對(duì)象之集合”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java視頻教程下載