综述:
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