什么是集合?
Java集合類(lèi)存放在java.util包中,是一個(gè)用來(lái)存放對(duì)象的容器。
注意:
1.集合只能存放對(duì)象。比如你存入一個(gè)int型數(shù)據(jù)66放入集合中,其實(shí)它是自動(dòng)轉(zhuǎn)換成Integer類(lèi)后存入的,Java中每一種基本數(shù)據(jù)類(lèi)型都有對(duì)應(yīng)的引用類(lèi)型。
2.集合存放的都是對(duì)象的引用,而非對(duì)象本身。所以我們稱(chēng)集合中的對(duì)象就是集合中對(duì)象的引用。對(duì)象本身還是放在堆內(nèi)存中。
3.集合可以存放不同類(lèi)型,不限數(shù)量的數(shù)據(jù)類(lèi)型。
Java集合框架
發(fā)現(xiàn)一個(gè)特點(diǎn),上述所有的集合類(lèi),除了map系列的集合,即左邊的集合都實(shí)現(xiàn)了Iterator接口。
Iterator是一個(gè)用來(lái)遍歷集合中元素的接口,主要有hashNext(),next(),remove()三種方法。
它的子接口ListIterator在它的基礎(chǔ)上又添加了三種方法,分別是add(),previous(),hasPrevious()。
從圖中我們可以看到:
1.集合主要分為Collection和Map兩個(gè)接口。
2.Collection又分別被List和Set繼承。
3.List被AbstractList實(shí)現(xiàn),然后分為3個(gè)子類(lèi),ArrayList,LinkList和VectorList。
4.Set被AbstractSet實(shí)現(xiàn),又分為2個(gè)子類(lèi),HashSet和TreeSet。
5.Map被AbstractMap實(shí)現(xiàn),又分為2個(gè)子類(lèi),HashMap和TreeMap。
6.Map被Hashtable實(shí)現(xiàn)。
推薦教程:Java教程