Java備忘錄《集合》

Ansong發表於2018-09-11

集合的本質是基於某種資料結構的資料容器,常見的基本資料結構:陣列(Array)、集(Set)、佇列(Queue)、連結串列(LinkedList)、樹(Tree)、堆(Heap)、棧(Stack)、對映(Map)。

Java備忘錄《集合》

在學習過程中可以先從List、Set、Map這三個介面入手,然和再熟悉其各自的實現類,並瞭解區別。

1、List集合

List集合中的元素都是有序的,可以重複出現。

List介面的實現類有:ArrayList和LinkedList。ArrayList是基於動態陣列結構的實現,LikedList是基於連結串列資料結構的實現。ArrayList訪問元素速度優於LinkedList,LinkedList佔用的記憶體空間比較大,但LinkedList在批量插入或刪除資料時優於ArrayList。

在Java中任何集合存放的都是物件,即引用資料型別,基本資料型別不能存放到集合中,平時使用集合時將int存放進List是因為在這個過程中發生了自動裝箱,將int資料型別封裝成Integer物件,相反的,取出得也是物件,在取出過程中,將Integer物件自動拆箱轉換成int型別。

2、Set集合

Set集合是一串無序的,不能重複的相同型別的元素構成的集合。

實現Set介面的主要是HashSet,HashSet是基於雜湊表資料結構的實現。

Map集合

Map(對映)集合表示一種複雜的集合,允許通過某個健來訪問元素,Map集合是由兩個集合構成的,一個健(Key)集合,一個是值(value)集合。健集合是Set型別,因此不能有重複的元素,而值集合是Collection型別,可以有重複的元素,Map集合中的健和值是成對出現的。

Map集合更適合通過健快速的訪問值,就像查英文字典一樣,而值是英文單詞的翻譯和解釋等。有時候一個Key會對應多個Value,只是Map集合的特性。

相關文章