java map與list的差異
Map(映射)
Map是一種把鍵物件和值物件映射的集合,它的每個元素都包含一個鍵物件和值物件。 Map主要有以下兩個實現類別:
HashMap:HashMap基於散列表實現,其插入和查詢
LinkedHashMap:類似HashMap,但是迭代遍歷它時,取得
TreeMap:TreeMap是基於紅黑樹實作。當看
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( ) |
元素 | 可重複 | 不可重複 |
#」 | ||
以上是java map與list的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!