綜述:
ArrayList,Vector主要區別為以下幾點:
(1):Vector是線程安全的,源碼中有很多的synchronized可以看出,而ArrayList不是。導致Vector效率無法和ArrayList相比;
(2):ArrayList和Vector都采用線性連續存儲空間,當存儲空間不足的時候,ArrayList默認增加為原來的50%,Vector默認增加為原來的一倍;
(3):Vector可以設置capacityIncrement,而ArrayList不可以,從字面理解就是capacity容量,Increment增加,容量增長的參數。
LinkedList是用鏈表結構存儲數據的,很適合數據的動態插入和刪除,隨機訪問和遍歷速度比較慢。另外,他還提供了List接口中沒有定義的方法,專門用於操作表頭和表尾元素,可以當作堆棧、隊列和雙向隊列使用
所以我這里不介紹vector了,只介紹ArrayList和Linkedlist
1 import java.util.ArrayList; 2 import java.util.List; 3 4 public class test { 5 6 public static void main(String[] args) { 7 ArrayList<String> person = new ArrayList<>(); 8 person.add("xiaoming"); 9 person.add("marry"); 10 person.add("xuyan"); 11 person.add("xiaomi");//在后面添加 12 person.add(0, "xiaofang");//指定位置添加元素 13 person.remove(1); 14 person.remove("xiaomi");//按照指定位置移除元素 15 String str = person.get(2);//按照下標獲取元素 16 17 person.set(2, "xiaofang");//改變指定下標的元素 18 if(!person.isEmpty())//判斷是否為空 19 System.out.println(person.indexOf("xiaofang") + " " + person.lastIndexOf("xiaofang"));//判斷指定字符串下標 20 21 22 System.out.println(person); 23 System.out.println(str); 24 } 25 26 }
關於linkedlist,這個博客寫的真是太好了
感覺就是鏈表,能夠順序讀取,不要隨機讀取
哈哈
附地址
http://blog.csdn.net/shengmingqijiquan/article/details/52640584