ArrayList集合的自身特點

05ArrayList集合的自身特點

A:ArrayList集合的自身特點
底層采用的是數組結構
ArrayList al=new ArrayList();//創建了一個長度為0的Object類型數組
al.add("abc");//底層會創建一個長度為10的Object數組 Object[] obj=new Object[10]
//obj[0]="abc"
//如果添加的元素的超過10個,底層會開辟一個1.5*10的長度的新數組
//把原數組中的元素拷貝到新數組,再把最后一個元素添加到新數組中
原數組:
a b c d e f g h k l
添加m:
a b c d e f g h k l m null null null null

06LinkedList集合的自身特點

A:LinkedList集合的自身特點
底層采用鏈表結構,每次查詢都要從鏈頭或鏈尾找起,查詢相對數組較慢
但是刪除直接修改元素記錄的地址值即可,不要大量移動元素

 LinkedList的索引決定是從鏈頭開始找還是從鏈尾開始找
 如果該元素小于元素長度一半,從鏈頭開始找起,如果大于元素長度的一半,則從鏈尾找起

07LinkedList特有方法

A:LinkedList特有方法:獲取,添加,刪除
/

* LinkedList 鏈表集合的特有功能
* 自身特點: 鏈表底層實現,查詢慢,增刪快
*
* 子類的特有功能,不能多態調用
*/
public class LinkedListDemo {
public static void main(String[] args) {
function_3();
}

  /*
   *  E removeFirst() 移除并返回鏈表的開頭
   *  E removeLast() 移除并返回鏈表的結尾
   */
  public static void function_3(){
    LinkedList<String> link = new LinkedList<String>();
    link.add("1");
    link.add("2");
    link.add("3");
    link.add("4");
    
    String first = link.removeFirst();
    String last = link.removeLast();
    System.out.println(first);
    System.out.println(last);
  
    System.out.println(link);
  }
  
  /*
   * E getFirst() 獲取鏈表的開頭
   * E getLast() 獲取鏈表的結尾
   */
  public static void function_2(){
    LinkedList<String> link = new LinkedList<String>();
    link.add("1");
    link.add("2");
    link.add("3");
    link.add("4");
  
    if(!link.isEmpty()){
      String first = link.getFirst();
      String last = link.getLast();
      System.out.println(first);
      System.out.println(last);
    }
  }
  
  public static void function_1(){
    LinkedList<String> link = new LinkedList<String>();
    link.addLast("a");
    link.addLast("b");
    link.addLast("c");
    link.addLast("d");
    
    link.addFirst("1");
    link.addFirst("2");
    link.addFirst("3");
    System.out.println(link);
  }
  
  /*
   *  addFirst(E) 添加到鏈表的開頭
   *  addLast(E) 添加到鏈表的結尾
   */
  public static void function(){
    LinkedList<String> link = new LinkedList<String>();
    
    link.addLast("heima");
    
    link.add("abc");
    link.add("bcd");
    
    link.addFirst("itcast");
    System.out.println(link);
    
    
  }
}

08Vector類的特點

*A:Vector類的特點
Vector集合數據存儲的結構是數組結構,為JDK中最早提供的集合,它是線程同步的
Vector中提供了一個獨特的取出方式,就是枚舉Enumeration,它其實就是早期的迭代器。
此接口Enumeration的功能與 Iterator 接口的功能是類似的。
Vector集合已被ArrayList替代。枚舉Enumeration已被迭代器Iterator替代。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,779評論 18 399
  • Collection接口 Collection接口是所有集合的祖先類。他有兩個構造方法,一個無參構造,一個是帶Co...
    夜幕繁華閱讀 613評論 0 0
  • title: java集合框架學習總結 tags:集合框架 categories:總結 date: 2017-03...
    行徑行閱讀 1,713評論 0 2
  • package java.util包中的Collection相關接口和類如下圖: 僅討論Java.util包中的常...
    maxwellyue閱讀 1,715評論 0 4
  • 突然想寫點啥,說點你和我的小日子,老梁說,愁苦之句易巧、歡娛之詞難工, 管他工不工,有啥說啥,總比無病呻吟...
    納川的天空閱讀 325評論 0 0