List改善了Array不能動態改變長度的不便
但相對在存取速度上會慢一點點
使用時機和陣列一樣
當有想要把資料有順序可重複的存放
並且要適度的搜尋和排序時很方便
主要有ArrayList和LinkedList兩種實踐

ArrayList
官網: https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
用法就像可變動長度的陣列, 實體化時也是給予連續記憶體空間
初始化會給予預設長度, 當新增到一個長度時, 又要配置新的空間
會造成時間的冗長, 所以如果預設知道大小的話會用ArrayList(int initialCapacity)來指定預設大小
當循序增加元素時表現亮眼
但如果要調整index時則會相當耗時


LinkedList
官網: https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html
就如同資料結構的LinkedList的實踐一樣
是用節點的方式來存放資料
優點是改索引時很方便
缺點是如果要隨機存取資料時
都必須要一個一個往下找, 較沒效率

 

1. 官網https://docs.oracle.com/javase/tutorial/collections/interfaces/list.html

01.png  

arrow
arrow
    文章標籤
    Java List
    全站熱搜

    RX1226 發表在 痞客邦 留言(0) 人氣()