List
-有序的Collection
-允许重复元素
List主要实现
-ArrayList(非同步)
-LinkedList(非同步)
-Vector(同步)
ArrayList
-以数组实现的列表,不支持同步
-利用索引的位置可以快速定位访问
-不适合指定位置的插入和删除动作
-适合变动不大,主要用于查询的数据
-和Java数组相比,其容量是可动态调整的
-ArrayList在元素填满容器是会自动扩充容器大小的50%
——————————————————————————————————
/**
-
@author ppf
-
@create 2020/08/16/21:52
*/
public class ArrayListTest {
public static void main(String[] args) {
ArrayList a = new ArrayList();
a.add(1);
a.add(2);
a.add(3);
a.add(4);
a.add(5);
a.add(new Integer(6));
System.out.println(“the third element is” + a.get(2));
a.remove(3);//删除第四个元素,后面元素往前移动
a.add(3, 7);//将7插入到第四个元素,后面元素往后移动
ArrayList a1 = new ArrayList();
for (int i = 0; i < 100000; i++) {
a1.add(i);
}
traverseByIterator(a1);
traverByIndex(a1);
traverByfor(a1);
}public static void traverseByIterator(ArrayList a) {
long startTime = System.nanoTime();//返回可用系统计时器的当前值
System.out.println(“迭代器遍历”);
Iterator iter1 = a.iterator();
while (iter1.hasNext()) {//如果仍有元素迭代,则返回true
iter1.next();
}
long endTime = System.nanoTime();
long duration = endTime - startTime;
System.out.println(duration);//19180500ms
}
public static void traverByIndex(ArrayList a){
long startTime = System.nanoTime();
System.out.println(“随机索引值遍历”);
for(int i=0; i<a.size(); i++){
a.get(i);
}
long endTime =