三、List接口的主要實現類


1.Vector類
Vector類是從jdk1.0開始出現的,從 Java 2 平台 v1.2 開始,此類改進為可以實現List接口,使它成為集合框架中的一員。
 
          Vector v = new Vector();

          v.add("java01");
          v.add("java02");
          v.add("java03");
          v.add("java04");

          Enumeration en = v.elements();

          while(en.hasMoreElements())
          {
               System.out.println(en.nextElement());
          }
其中Enumeration是Vector取出元素的特有方式。后來因為名稱以及方法的名稱都過長,被迭代器取代了。Vertor底層是基於數組實現的,且其是同步的。但是添加到一定量的元素后,再添加元素其長度會100%擴容(原來的長度10變成20),而ArrayList底層也是基於數組實現的,但其只會小幅擴容(原數組長度*3 除2再加1,更節約空間)。Vector被ArrayList取代。
 
2.ArrayList
 內部是數組數據結構,是不同步的。替代了Vector。查詢的速度快
 
3.LinkedList
內部是鏈表數據結構,是不同步的。增刪元素的速度很快。(鏈表數據結構)
特有方法:
     addFirst();
     addLast():
      =========jdk1.6==========
     offerFirst();
     offetLast();
    
    
     getFirst();.//獲取但不移除,如果鏈表為空,拋出NoSuchElementException.
     getLast();
      =========jdk1.6==========
     peekFirst();//獲取但不移除,如果鏈表為空,返回null.
     peekLast():
    
     removeFirst();//獲取並移除,如果鏈表為空,拋出NoSuchElementException.
     removeLast();
      =========jdk1.6==========
     pollFirst();//獲取並移除,如果鏈表為空,返回null.
     pollLast();

總結:
List:
     |--Vector:內部是數組數據結構,是同步的。增刪,查詢都很慢!
     |--ArrayList:內部是數組數據結構,是不同步的。替代了Vector。查詢的速度快。
     |--LinkedList:內部是鏈表數據結構,是不同步的。增刪元素的速度很快。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM