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替代。