ArrayList 200000次为例
往后追加元素 7毫秒
往前插入元素 4184毫秒
遍历轮询元素 4毫秒(可以用增强for)
删除元素时间 4040毫秒
1.ArrayList是List的实现 所属的包是 java.util
其底层是利用(动态)数组的形式存储
特点是适合遍历轮询 不适合插入删除
默认扩容是1.5倍
2.创建对象
无参数的构造方法
带容量的构造方法
带Collection<? extends E> c参数的构造方法
3.常用方法——-CURD(存Create 改Update 取Retrieve 删Delete)
add(); get(); remove(); set(); size();
3.1 remove(int index);
//删除元素
如
ArrayList
list.add(“a”);
list.add(“b”);
list.add(“c”);
list.add(“d”);
list.add(“e”);
System.out.println(list);//返回 [a, b, c, d, e]
//本来应该返回 类名@hashCode 所以list底层重写了toString方法
//删除集合元素
//方式一
for(int i = 0;i
}
//i==0 size==5 abcde
//i==1 size==4 bcde
//i==2 size==3 bde
//i==3 size==2 bd
//循环结束 这样删不干净
//方式二
for(int i = 0;i
}
//i==0 size==5 abcde
//i==1 size==4 bcde
//i==2 size==3 cde
//i==3 size==2 de
//循环结束 这样也删不干净
//方式三
int size = list.size();
for(int i = 0;i
}
//这样就删干净了
3.2 boolean = add(E e);
add(int index,E e);
addAll(Collection c);
//将集合中的元素拿过来全放进去 相当于集合并集
3.3 clear();
//将集合元素全部删干净
3.4 boolean = contains(Object obj);
//判断给定元素是否在集合中存在
3.5 ensureCapacity(int minCapacity);
//容量是否够用
3.6 E = get(int index);
//获取某一位置元素
3.7 indexOf();
//找寻某一元素第一次出现的位置
3.8 lastIndexOf();
//找寻某一元素最后一次出现的位置
3.9 isEmpty();
3.10 iterator = list.iterator();
//迭代器
3.11 remove(int index);
//删除给定位置的元素
3.12 remove(Object obj);
//删除指定元素
如
ArrayList
list1.add(1);
list1.add(2);
list1.add(3);
list1.remove(1);//index—-1 obj—-1
//1当做是基本类型来看
//要想删除obj==1这个元素
list1.remove(new Integer(1));//输出 3
3.13 removeAll();
//相当于集合差集
3.14 retainAll();
//相当于集合交集
3.15 [E = ]set(int index,E e);
//修改指定位置的元素 可以不接收
3.16 List = subList(int begin,int end);
//截取集合元素
如
ArrayList
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list1.add(5);
list1.add(6);
List
//注意subList是ArrayList中的内部类
//所以返回值是一个List类型的 List是父类 不能返回ArrayList类的
System.out.println(newList);//输出 3 4 5
3.17 Object[] = toArray();
//把集合变成数组 这个是忘记真实类型时 就用无参数的
3.18 T[] = toArray(T[]);
//把集合变成数组 但是知道真实类型 这时候可以用带参的
如
ArrayList
list1.add(1);
list1.add(2);
list1.add(3);
//事先准备好一个空的数组—-用来接收返回值
Integer[] x = new Integer[list1.size()];
list1.toArray(x);//这时候x里面就被填满了
System.out.println(x.length);//长度为3
3..19 trimToSize();
//将集合变为有效元素这么长;