聲明,本文使用的是JDK1.8
從今天開始正式去學習Java基礎中最重要的東西--->集合java
不管在開發中,在面試中這個知識點都是很是很是重要的,所以,我在此花費的時間也是不少,得參閱挺多的資料,下面未必就作到日更了...面試
固然了,若是講得有錯的地方還請你們多多包涵並不吝在評論去指正~算法
接下來,咱們能夠對數組和集合的區別來分析一下:數組
數組和集合的區別:安全
1:長度的區別微信
2:元素的數據類型數據結構
Collection的由來:post
集合能夠存儲多個元素,但咱們對多個元素也有不一樣的需求學習
Collection的大體結構體系是這樣的:spa
可是,通常咱們要掌握的並不須要那麼多,只須要掌握一些經常使用的集合類就好了。下面我圈出來的那些:
再次精減:
Collection的基礎功能:
咱們能夠發現Collection的源碼中繼承了Iterable,有iterator()這個方法...
點進去看了一下,Iterable是一個接口:
它有iterator()這個方法,返回的是Iterator
再來看一下,Iterator也是一個接口,它只有三個方法:
但是,咱們沒能找到對應的實現方法,只能往Collection的子類下找找了,因而咱們找到了--->ArrayList(該類後面會說)
因而,咱們在ArrayList下找到了iterator實現的身影:它是在ArrayList以內部類的方式實現的!而且,從源碼可知:Iterator實際上就是在遍歷集合
因此說:咱們遍歷集合(Collection)的元素均可以使用Iterator,至於它的具體實現是之內部類的方式實現的!
從上面已經能夠看到了,Collection主要學習集合的類型兩種:Set和List,這裏主要講解List!
咱們來看一下List接口的方法,比Collection多了一點點:
Collection返回的是Iterator迭代器接口,而List中又有它本身對應的實現-->ListIterator接口
該接口比普通的Iterator接口多了幾個方法:
從方法名就能夠知道:ListIterator能夠往前遍歷,添加元素,設置元素
List集合經常使用的子類有三個:
ArrayList
LinkedList
Vector
如今知道有三個經常使用的集合類便可,後面會開新的文章來說解的~
從Set集合的方法咱們能夠看到:方法沒有比Collection要多
HashSet集合
TreeSet集合
LinkedHashSet集合
本篇主要歸納了Collection的要點,並無深刻去研究各類的集合類,該部分留到新開的章節去講解,敬請期待~~
明天是清明節(回家),這兩天是不更新集合的了,若是在家有空可能會刷幾道算法題而後整理後會更新公衆號~
文章的目錄導航:https://zhongfucheng.bitcron.com/post/shou-ji/gong-zhong-hao-wen-zhang-zheng-li
參考資料:
若是文章有錯的地方歡迎指正,你們互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同窗,能夠 關注微信公衆號:Java3y