??java中的容器使用是java程序員在編程開發(fā)中必不可少的技能,就算是剛?cè)腴T的java程序員耕蝉,也一定會(huì)用到ArrayList崔梗,Hashmap這樣的容器。在《java編程思想》提供了一張JDK中容器的知識(shí)圖譜垒在,而自JDK1.5后也增加了不少新的容器 類蒜魄。花了一點(diǎn)時(shí)間场躯,把JDK中的容器類以導(dǎo)圖的形式描述出來谈为,做為一個(gè)以后工作的備查記錄。
??JDK中 的容器種類繁多踢关,但常用的可能也就不到十種伞鲫,讓我們做一個(gè)簡(jiǎn)單的脈絡(luò)梳理。
??JDK中的容器源自兩個(gè)接口: Map和Collection签舞。這兩個(gè)接口描述了自然世界中兩種典型的集合類型:Collection是普通對(duì)象的集合秕脓,而Map則 是名值對(duì)(特殊對(duì)象)的集合柒瓣。由Collection接口衍生出了List和Set兩個(gè)接口,這里我們可以簡(jiǎn)單地認(rèn)為L(zhǎng)ist是可以有重復(fù)元素的集合吠架,而Set符合代理中的集合概念芙贫,是一個(gè)沒有重復(fù)元素的集合(JAVA中判斷兩個(gè)對(duì)象是否相同,可根據(jù)重寫的equals函數(shù))诵肛。
??由List接口屹培,可衍生出列表,堆棧怔檩,隊(duì)列三類容器對(duì)象褪秀。列表對(duì)象中常用的是ArrayList和LinkedList,在實(shí)現(xiàn)形式上應(yīng)對(duì) 一維向量與雙向鏈表,由于 LinkedList是雙向鏈表薛训,因而也可以作為隊(duì)列使用媒吗,遍歷可使用listIterator從反向遍歷。堆椧野#可視為一個(gè)LIFO的隊(duì)列闸英,典型的實(shí)現(xiàn)類是Stack。隊(duì)列概念上是一個(gè)FIFO的隊(duì)列介袜,在接口中有單向Queue和雙向Deque兩類接口甫何,大家可以關(guān)注一下PriorityQueue(實(shí)現(xiàn)上為一個(gè)完全搜索二叉樹)和DelayQueue這兩類比較特殊的隊(duì)列,在并發(fā)編程中常會(huì)用到遇伞。在隊(duì)列的實(shí)現(xiàn)類中還有一類名字中帶“Blocking”的隊(duì)列實(shí)現(xiàn)類辙喂,這類容器可在條件滿足時(shí)阻塞線程。
??由Set接口,衍生出的實(shí)現(xiàn)類中常用的為HashSet和TreeSet,需要注意的是TreeSet是一個(gè)有序集合鸠珠。
??由Map接口,衍生出的實(shí)現(xiàn)類有HashMap和HashTable巍耗。
??對(duì)于JDK中的容器,使用迭代器Iterator進(jìn)行元素的遍歷是最常用的方法渐排,而在使用時(shí)炬太,設(shè)置一個(gè)初始容量(針對(duì)提供該特征的某些容器)也非常有必要。在JDK1.5之后驯耻,java.util.concurrent 包中增加了一些線程安全的容器類(如ConcurrentHashMap)亲族,可實(shí)現(xiàn)基礎(chǔ)操作的原子性。
編程隨筆-java編程知識(shí)收納-容器
JDK容器
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門霎肯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搂捧,“玉大人,你說我怎么就攤上這事∪跄溃” “怎么了况木?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)宴倍。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么羡亩? 我笑而不...
- 正文 為了忘掉前任吉殃,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘每界。我一直安慰自己,他們只是感情好家卖,可當(dāng)我...
- 文/花漫 我一把揭開白布眨层。 她就那樣靜靜地躺著,像睡著了一般上荡。 火紅的嫁衣襯著肌膚如雪趴樱。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼啤呼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了呢袱?” 一聲冷哼從身側(cè)響起官扣,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎羞福,沒想到半個(gè)月后惕蹄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年卖陵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了恋昼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站婿滓,受9級(jí)特大地震影響老速,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凸主,卻給世界環(huán)境...
- 文/蒙蒙 一橘券、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧卿吐,春花似錦旁舰、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至衍腥,卻和暖如春磺樱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背婆咸。 一陣腳步聲響...
- 正文 我出身青樓块差,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親乖仇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子憾儒,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- java基礎(chǔ) 集合承繼包含圖 Collection vs Collections 首先诗舰,"Collection" ...
- 一:java概述:1警儒,JDK:Java Development Kit,java的開發(fā)和運(yùn)行環(huán)境,java的開發(fā)工...
- 四蜀铲、集合框架 1:String類:字符串(重點(diǎn)) (1)多個(gè)字符組成的一個(gè)序列边琉,叫字符串。生活中很多數(shù)據(jù)的描述都采...