Map是不是集合?
Map是不是集合?
一、起因
今天在一個(gè)群里跟幾位朋友就“map是不是集合“”爭(zhēng)執(zhí)了起來;幾位朋友一致認(rèn)為map不是集合,他們說只有Collection接口下的才是集合,而我認(rèn)為Collection和Map下的實(shí)現(xiàn)類都是集合類。二、發(fā)展
于是我開始在網(wǎng)上搜索一下,發(fā)現(xiàn)然并卵,沒有找到我想要的結(jié)果。于是乎,我翻開了書。在《java核心技術(shù) 卷一 第九版》一書中的569頁,13.3節(jié) 集合框架?的倒數(shù)第16行原文:“集合有兩個(gè)基本的接口:Collection和Map。可以使用下列方法向集合中插入元素……” 另附集合 包括了Collection和Map??真的嗎?? 我又翻開了《java編程思想》,LOOK
《java編程思想》的第11章,第216頁,正數(shù)第13行,中原文:“……其中基本的類型是LIst、Set、Queue和Map。這些對(duì)象類型也稱為集合類,但由于Java類庫中使用了Collection這個(gè)名字來指代該類庫的一個(gè)特殊子集,所以我使用了范圍更廣的術(shù)語‘容器’稱呼它們……”
真相大白 原來如此 我們爭(zhēng)執(zhí)的'集合'大部分指的是Collection接口下的實(shí)現(xiàn)類,而在java核心技術(shù)卷一書上把Map也算做集合類的根接口之一,但是java編程思想里用了"集合類"和"容器"兩個(gè)稱呼進(jìn)行了說明和解釋,所以Map是否是集合類(集合框架)的根接口是一個(gè)翻譯問題! 書中所說的集合框架的總稱'集合類'和'容器'是一個(gè)概念!!!
三、總結(jié)
Map是不是集合并不重要,重要的是在我們的工作和學(xué)習(xí)中應(yīng)該明確說明和指出集合 是指容器(即《java編程思想》中的'集合類')?還是指Collection接口下的實(shí)現(xiàn)類。 其實(shí),集合(容器)框架的結(jié)構(gòu)的理解和使用才是最重要的。 至于,Map是不是集合? 這個(gè)模棱兩可的問題的就不要鉆牛角尖啦~如果有人在你面前談起Map是不是集合, 請(qǐng)扶一下眼鏡,并回問一句他所說的"集合"是容器(集合框架)還是Collection接口總結(jié)
- 上一篇: Spring之JDBCTemplate
- 下一篇: HDU 2574 HDOJ 2574 H