首頁 >Java >Java基礎 >java map與list的差別

java map與list的差別

angryTom
angryTom原創
2019-11-18 11:24:145248瀏覽

java map與list的差別

java map與list的差異

Map(映射)

Map是一種把鍵物件和值物件映射的集合,它的每個元素都包含一個鍵物件和值物件。 Map主要有以下兩個實現類別:

HashMap:HashMap基於散列表實現,其插入和查詢的開銷是固定的,可以透過建構器設定容量和負載因子來調整容器的性能。

LinkedHashMap:類似HashMap,但是迭代遍歷它時,取得的順序是其插入次序,或者是最近最少使用(LRU)的次序。

TreeMap:TreeMap是基於紅黑樹實作。當看時,它們會被排序。 TreeMap是唯一的帶有subMap()方法的Map,subMap()可以傳回一個子樹。

List(列表)

List的元素以線性方式存儲,可以存放重複對象,List主要有以下兩個實作類別:

# ArrayList : 長度可變的數組,可以對元素進行隨機的訪問,向ArrayList中插入與刪除元素的速度慢。 JDK8 中ArrayList擴容的實作是透過grow()方法裡使用語句newCapacity = oldCapacity (oldCapacity >> 1)(即1.5倍擴容)計算容量,然後呼叫Arrays.copyof()方法進行對原數組進行複製。

LinkedList: 採用鍊錶資料結構,插入和刪除速度快,但存取速度慢。

比較 List Map
繼承接口 Collection
常見實作類別 AbstractList(其常用子類別有ArrayList、LinkedList、Vector) HashMap、HashTable
常見方法 add( )、remove( )、clear( )、get( )、contains( )、size ( ) put( )、get( )、remove( )、clear( )、containsKey( )、containsValue( )、keySet( )、values( )、size( )
元素 可重複 不可重複
#」

### ##############執行緒安全性######Vector執行緒安全性#######Hashtable執行緒安全性##############php中文網,大量的免費###Java入門教學###,歡迎線上學習! ###

以上是java map與list的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn