Java之List集合和ArrayList_LinkedList實現類的存儲機制和性能差異

  • List集合:提供了大量的“根據索引”來存、取元素的方法。由於List根據索引來存取元素,所以它多一個遍歷集合元素的方法。
    import java.util.ArrayList;
    import java.util.List;
    
    public class ListTest {
    	public static void main(String[] args) {
    		List<String> list = new ArrayList<String>(); 
    		list.add("孫悟空0");
    		System.out.println(list);
    		list.add("沙和尚0");
    		System.out.println(list);
    		list.add(1,"孫悟空1");
    		System.out.println(list);
    		list.add(2,"沙和尚1");
    		System.out.println(list);
    	}
    }

  • ArrayList與Vector的存儲機制:二者底層完全基於數組——對於數據的存儲,完全基於數組,因此性能非常快,當插入和刪除元素,後面的所有元素要跟着“整體搬家”。
  • ArrayList與Vector的區別:vector是一個JDK1.0就有的集合,從JDK1.2之後,sun重寫設計了ArryList,代替了原來的vector。ArrayList的線程是不安全的,vector的線程是安全的。ArrayList的性能比vector要好,在多線程的情況下,可以用Collections把ArrayList轉換成線程安全的。
  • LinkList:即是線性表,又是隊列,又是棧,底層基於鏈表來實現的,通常認爲其 性能比ArrayList較慢。當插入元素、刪除元素,無需“整體搬家”,因此性能非常快。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章