Java集合:什么是Java集合?
一、集合的由來(lái)
通常,我們的Java程序需要根據(jù)程序運(yùn)行時(shí)才知道創(chuàng)建了多少個(gè)對(duì)象。但若非程序運(yùn)行,程序開發(fā)階段,我們根本不知道到底需要多少個(gè)數(shù)量的對(duì)象,甚至不知道它的準(zhǔn)確類型。為了滿足這些常規(guī)的編程需要,我們要求能在任何時(shí)候,任何地點(diǎn)創(chuàng)建任意數(shù)量的對(duì)象,而這些對(duì)象用什么來(lái)容納呢?我們首先想到了數(shù)組,但是!數(shù)組只能存放同一類型的數(shù)據(jù),而且其長(zhǎng)度是固定的,那怎么辦了?集合便應(yīng)運(yùn)而生了。
二、集合是什么?
Java集合類存放在java.util包中,是一個(gè)用來(lái)存放對(duì)象的容器。
注意:
1.集合只能存放對(duì)象。比如你存入一個(gè)int型數(shù)據(jù)66放入集合中,其實(shí)它是自動(dòng)轉(zhuǎn)換成Integer類后存入的,Java中每一種基本數(shù)據(jù)類型都有對(duì)應(yīng)的引用類型。
2.集合存放的都是對(duì)象的引用,而非對(duì)象本身。所以我們稱集合中的對(duì)象就是集合中對(duì)象的引用。對(duì)象本身還是放在堆內(nèi)存中。
3.集合可以存放不同類型,不限數(shù)量的數(shù)據(jù)類型。
三、Java集合框架
首先,我們來(lái)看一張圖
發(fā)現(xiàn)一個(gè)特點(diǎn),上述所有的集合類,除了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è)子類,ArrayList,LinkList和VectorList。
4.Set被AbstractSet實(shí)現(xiàn),又分為2個(gè)子類,HashSet和TreeSet。
5.Map被AbstractMap實(shí)現(xiàn),又分為2個(gè)子類,HashMap和TreeMap。
6.Map被Hashtable實(shí)現(xiàn)。
總結(jié)
以上是生活随笔為你收集整理的Java集合:什么是Java集合?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安装LibreOffice和字体
- 下一篇: linux高负载下彻底优化mysql数据