国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Java集合框架(Collection Framework)學習之 Collection與Map概貌

2019-11-14 23:06:11
字體:
供稿:網(wǎng)友
java集合框架(Collection Framework)學習之 Collection與Map概貌

寫過Java的人都知道Java集合類,也用過Java集合類。Java集合類位于 java.util 這個包下,就像它的包名暗示的那樣,Java集合類就是一套工具。它就像工匠的工具箱一樣,它能給使用它的人提供便利與效率。正所謂”工欲上其事,必先利其器。“ 如果我們想更好地、更高效率地完成任務,我們需要熟悉我們手上的工具。Java集合類就是這樣的工具,只要我們能夠熟練使用它,它就可以顯著地提高我們的工作效率、讓我們事半功倍。

先說說我對Java集合框架的理解: Java集合框架不是什么高深的技術(shù),也不是什么苦澀的知識,它只是把常用的數(shù)據(jù)結(jié)構(gòu)和算法集合在一起,讓我們不用重復造輪子,能更輕松地、更高效地處理數(shù)據(jù)。就像就像Oracle的Java教程說的那樣:Java集合框架通過提供高性能、高質(zhì)量的數(shù)據(jù)結(jié)構(gòu)和算法來提高程序的速度和質(zhì)量并減輕你的編程負擔。所以我們不必害怕學不會Java集合框架。既然是工具,多用幾次就可以熟能生巧了。當然有數(shù)據(jù)結(jié)構(gòu)基本能更輕松地掌握它。

稍微學習過Java集合類都知道,Java集合類這個工具箱真的太多工具了,不僅有List、有Map、有Set等。List中又有ArrayList、LinkedList等,Map中又有HashMap、TreeMap等,Set中又有。。。 此刻你是否想說:”WTF,這么多怎么學?哥不學了,洗洗睡去吧。“ 但我想說,少年,稍安勿躁!萬事都有規(guī)律,只要掌握了規(guī)律再多的東西都能掌握。

Collection與Map的區(qū)別

Java集合類分為兩大類:Collection和Map。為什么要這樣分類呢?

先看Collection。Collection翻譯為中文是”集合“的意思。學過數(shù)學都知道,集合是一類元素組成的集體,它的每一個單位元素都是單一的個體。我們可以把Collection看成是一個裝著球的格子箱,箱里的每一個格子只能放一個球:

Map。Map有”映射“的意思。根據(jù)百度百科對 映射 的定義 ,我們知道映射是成對出現(xiàn)的,有 才有 :)。所以映射的單位元素都是一對有關(guān)聯(lián)的個體。我們同樣可以把Map看成是一個裝著球的格子箱,不同的是這次箱里的每個格子裝的是兩個有關(guān)聯(lián)的球:

總結(jié)

  • Collection: 單一個體組成的集合,每個單位只能包含一個元素。
  • Map: 一對有關(guān)聯(lián)的個體組成的集合,每個單位都是一對相關(guān)聯(lián)的元素。
集合類概貌

分析完Collection與Map的區(qū)別后我們分別來看看它們的概貌,以便我們更好地學習它們以及它們的子集。(以下的圖中,紅色的類,白色的接口。為什么把接口和類分開呢?因為我們在實際操作的時候一般是實例化類的,接口一般用來向上轉(zhuǎn)型的。你總不能new個接口吧?而且我們主要學的也是具體的類而不是接口)

我們先看Collection與Map的層次圖:

  • Collection:

  • Map:

這種圖有什么作用呢?這種圖對我們學習Java集合大有裨益。我總結(jié)了幾點:

  1. 我們在學習集合類的時候,可以參考圖中的層次關(guān)系自上而下地學習,先學習頂層的類再學習下面的類。這樣一來,我們就可以把共有的方法一起學了,在學習具體的類時只需學習它特有的方法。
  2. 在使用具體的類時也有好處,比如,使用ArrayList時,我們知道他屬于Collection而Collection添加元素的共有方法是 add 。使用HashMap時,我們又知道它書屬于Map而Map添加元素的共有方法是 put 。這樣我們就不會把它們添加元素的方法搞混了。
  3. 方便我們記憶。在選擇數(shù)據(jù)結(jié)構(gòu)是,我們可以先分析是Collection還是Map合適。然后在從上往下回憶有哪些類可以使用。
  4. 能讓我們更了解集合類。就我個人來說,在使用ArrayList時如果不清楚他的層次樹總感覺”不太安心“。這個類就像憑空出現(xiàn)的一樣,不知道它從哪里來又將去到哪。如果有它的層次圖就有一種“所有的障礙都消失了”的感覺,有掌握全局的快感。
  5. 不知道。由于個人經(jīng)驗有限,暫時沒想到其他的作用:)

最后給出Collection與Map接口定義的接口文檔(方便以后自己查看:))

  • Map接口API
  • Collection接口API

好了,今天就到這,之后在來總結(jié)集合類的其他具體子集!!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 翁牛特旗| 巴彦县| 仙桃市| 东源县| 九龙县| 得荣县| 蚌埠市| 西乌| 商丘市| 阿拉善右旗| 彭山县| 漯河市| 鹤峰县| 西平县| 三亚市| 睢宁县| 汉寿县| 任丘市| 黄陵县| 攀枝花市| 婺源县| 根河市| 巴塘县| 金昌市| 垣曲县| 黎城县| 东乌珠穆沁旗| 伊宁市| 肇源县| 建阳市| 建湖县| 惠安县| 武强县| 牡丹江市| 景东| 乌海市| 福州市| 龙口市| 乾安县| 浙江省| 明水县|