13161216443

您所在位置: 首頁> 學習課程> 鄭州java培訓班 | 如何學習Java集合?

鄭州java培訓班 | 如何學習Java集合?

發布百知教育 來源:學習課程 2019-12-06

如果認識我的同學可能就知道,我已經寫過很多系列級的文章了,但是沒有一篇是寫給剛入門的同學來看的,大多數都是依照我個人的學習進度來編寫。


雖然可以按照我的文章順序去一篇一篇閱讀,但是如果是新入門的同學可能更希望得到的是一個學習指南(路線指引)。于是我就有了這篇文章,希望對剛入門的同學有所幫助。

如果這篇文章的反響不錯,會持續更新其他的專題。覺得我寫得不錯,希望可以給我一個!

Java集合學習指南

本文會提出很多可能新手會想到的問題,但不會一一解答,只會往大方向去說明白。本文的內容偏向于指南,而非技術教程講解。


學習一項技術之前,必須知道為什么要學它!

Q:我們得知道為什么要學習Java集合,學到Java集合的時候已經學過了數組了,為什么我不用數組反而用Java集合。數組和Java集合有什么區別?


java培訓班


學習Java集合先需要知道

A:Java是一門面向對象的語言,就免不了處理對象,為了方便操作多個對象,那么我們就得把這多個對象存儲起來,想要存儲多個對象(變量),很容易就能想到一個容器(集合)來裝載

總的來說:就是Java給我們提供了工具方便我們去操作多個Java對象。


如何入門學習Java集合

Q:從上面我們已經知道了為什么要學Java集合,下面我們就該知道Java集合的基本用法,以及從它整體的知識點去了解它是什么


A:我們學習Java集合實際上就是為了方便操作多個對象,而Java給我們提供一系列的API(方法)供我們去操作。所以在初學Java集合的時候我們更多的是學習這些API(方法)分別是什么意思。


Q:對Java集合的API使用有一定的了解之后,我們就應該從面向對象的角度去理解它。為什么會抽象出多個接口,以及每個接口的有什么特性。


A:我們可以總結出幾個常用的實現類,這幾個常用的實現類我們必須要知道它的數據結構是什么,什么時候使用這個類。


需要學習和了解的數據結構:


java培訓班




到這里,我們簡單了解各個實現類的數據結構以后,我們可能會簡單記住下面的結論

  • 如果是集合類型,有List和Set供我們選擇。List的特點是插入有序的,元素是可重復的。Set的特點是插入無序的,元素不可重復的。至于選擇哪個實現類來作為我們的存儲容器,我們就得看具體的應用場景。是希望可重復的就得用List,選擇List下常見的子類。是希望不可重復,選擇Set下常見的子類。

  • 如果是Key-Value型,那我們會選擇Map。如果要保持插入順序的,我們可以選擇LinkedHashMap,如果不需要則選擇HashMap,如果要排序則選擇TreeMap。

  • 總之:學完常見實現類的數據結構之后,你對它的使用場景就有一個清楚的認知了。


集合進階與面試

如果我們在寫代碼的時候懂得選擇什么樣的集合作為我們的容器,那已經是入門了。但要知道的是,如果去面試之前,你懂的不應該只有這么少。

(如果還在初學或者零基礎的同學我建議可以跳過這一部分,在網上有可能很多言論,比如:“如果你Java基礎扎實的話,那你以后找工作就不愁了。在學Java基礎的時候一定要把基礎學好,看源碼!”。但我認為,這一塊是建立在有一定的編碼/項目或者是去找工作的時候才成立的,一個剛入門學Java的,就不應該看源碼,這很容易把自己勸退了

我的觀點是:如果剛入門學Java,首先你要十分清楚知道為什么要學這個,這個到底有什么用,用在哪些地方,以及熟悉常用的方法,就足夠了。即便你花了兩周左右時間去看源碼實現了,可能看懂了。但是,你相信我,你大概率會忘掉。

Java集合是面試的重點,我在面試的時候幾乎每家公司都會問集合的問題,從基礎到源碼,一步一步深入。Java集合面試的知識點就不限于基本的用法了??赡苊嬖嚬贂柲悖?/p>

  • HashMap的數據結構是什么?他是怎么擴容的?底層有沒有用紅黑樹?取Key Hash值是JDK源碼是怎么實現的?為什么要這樣做?

  • HashMap是線程安全的嗎?什么是線程安全?有什么更好的解決方案?那線程安全的HashMap是怎么實現的?

  • HashSet是如何判斷Key是重復的?

  • …..很多很多


最后

總的來說,入門Java集合并不難,歸根到底我認為就是三件事:

  • 了解為什么要學習Java集合

  • 學習Java集合的各個接口以及常用的實現類用法

  • 學習常用實現類的數據結構是什么,能在寫代碼的時候選擇一個合適的實現類裝載自己的對象。

零基礎java入門不需要閱讀源碼,面試前一定要回顧和閱讀源碼(這是面試必考的知識點)!

java培訓班:http://www.akpsimsu.com/java2019




上一篇:MyBatis系列第2篇:入門篇,帶你感受一下mybatis獨特的魅力!

下一篇:應屆生去公司找個Java程序員的職位需要什么技能?

相關推薦

www.akpsimsu.com

有位老師想和您聊一聊

關閉

立即申請