java集合深入理解(一):java集合掌握多少纔算合格

(一)概述

java集合是寫代碼時經常用到,面試時經常問到的一項基礎知識。因此瞭解深入瞭解集合不管對寫代碼,或者是面試都有很大的幫助。作爲一名合格的java程序員,你需要了解以下關於集合的知識:

1.集合的框架體系

2.Collection接口的特點和使用

3.List和Set接口的特點和使用

4.List接口和Set接口的實現類學習

5.Map接口的特點和使用

6.Map接口的實現類學習

7.Collections工具類的使用

集合的學習方向也分成兩方面:

1.應用層面

2.理解層面

應用層面就是對集合的使用,比較簡單。理解層面就相對來說比較複雜,需要看一些集合的源碼,瞭解其中的底層實現邏輯。理解之後要能說出各個集合之間的對比,比如:

1.Collection和Map的對比

2.List和Set的對比

3.ArrayList和Vector對比

4.ArrayList和LinkedList對比

5.HashMap和HashTable對比

6.Collection和Collections對比

......

我寫這個系列博客的目的也是爲了重新整理一下關於集合的知識體系,爲接下來的面試做好準備。

(二)集合的特點與好處

說到集合肯定就會想到數組,因爲兩者都是用來保存一組數據。但是在用數組保存數據(尤其是對象)時存在一些弊端:

1.數組的長度必須提前指定,並且該數組的長度不能修改

2.數組只能保存相同類型的元素。

相比之下,集合就不具備上面的弊端:

1.集合在使用時不用指定長度,可以實現自動擴容

2.集合在沒有指定泛型時,保存的對象是Object類型,指定泛型後可以保存對應的類型。

數組比較適合保存基本類型的元素,集合適合保存引用類型的元素,即對象

(三)集合的劃分

集合主要分爲兩大塊體系:Collection和Map。Collection保存單列的元素,Map保存雙列的元素(鍵值對)

Collection接口:

Set:元素無序不可重複

List:元素有序可重複

Map接口:

Key-Value鍵值對集合

Collection接口的繼承樹如下所示:

Map接口的繼承樹如下所示

(四)總結

雖然在工作中集合的使用很簡單,但是集合的原理一定要很紮實的掌握。集合的源碼不算很難,因此看懂集合的部分源代碼不僅更加深刻理解java有幫助,而且在面試中也能輕易過了集合這一關。關於這個系列的博客會在未來一個星期內更新完成。

發佈了68 篇原創文章 · 獲贊 962 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章