Map是不是集合?
一、起因
今天在一個群里跟幾位朋友就“map是不是集合“”爭執了起來;幾位朋友一致認為map不是集合,他們說只有Collection接口下的才是集合,而我認為Collection和Map下的實現類都是集合類。
二、發展
于是我開始在網上搜索一下,發現然并卵,沒有找到我想要的結果。于是乎,我翻開了書
。在《java核心技術 卷一 第九版》一書中的569頁,13.3節 集合框架?的倒數第16行原文:“集合有兩個基本的接口:Collection和Map。可以使用下列方法向集合中插入元素……”

另附
集合 包括了Collection和Map??真的嗎??
我又翻開了《java編程思想》,LOOK
《java編程思想》的第11章,第216頁,正數第13行,中原文:“……其中基本的類型是LIst、Set、Queue和Map。這些對象類型也稱為集合類,但由于Java類庫中使用了Collection這個名字來指代該類庫的一個特殊子集,所以我使用了范圍更廣的術語‘容器’稱呼它們……”
真相大白
原來如此
我們爭執的'集合'大部分指的是Collection接口下的實現類,而在java核心技術卷一書上把Map也算做集合類的根接口之一,但是java編程思想里用了"集合類"和"容器"兩個稱呼進行了說明和解釋,所以Map是否是集合類(集合框架)的根接口是一個翻譯問題!
書中所說的集合框架的總稱'集合類'和'容器'是一個概念!!!
三、總結
Map是不是集合并不重要,重要的是在我們的工作和學習中應該明確說明和指出集合
是指容器(即《java編程思想》中的'集合類')?還是指Collection接口下的實現類。
其實,集合(容器)框架的結構的理解和使用才是最重要的。
至于,Map是不是集合?
這個模棱兩可的問題的就不要鉆牛角尖啦~如果有人在你面前談起Map是不是集合,
請扶一下眼鏡,并回問一句他所說的"集合"是容器(集合框架)還是Collection接口