ArrayList:一个初始容量为10的列表,每次扩容默认增加0.5倍容量,但是有时候会造成容量浪费这时候能够调用trimToSize()调整容量为当前列表大小,此方法并未记录到下文,了解就好。ArrayList是不同步的(Vector是同步的),但速度较快,当然你可以包装ArrayList使其同步。;下面是常见API的使用:
package CollectionAPI
import java.util.ArrayList;
public class ArrayListAPI {
//增删改add+remove+set
public void test1(){
ArrayList<Integer> al = new ArrayList<>();
System.out.println("原始列表:"+al);
System.out.println("----------------------");
al.add(1);al.add(2);al.add(null);
System.out.println("1.增加:"+al);
System.out.println("2.删掉null:"+al.remove(null)+" 输出删除后的al:"+al);
System.out.println("3.修改元素1变成10:"+al.set(1, 10)+" 输出修改后的al:"+al);
}
//查contain+get+indexOf(查询是否包含该元素/根据索引查询元素/根据元素查索引)
public void test2(){
ArrayList<Integer> al = new ArrayList<>();
al.add(1);al.add(2);al.add(null);
System.out.println("原始列表:"+al);
System.out.println("----------------------");
System.out.println("4.检查是否包含元素1:"+al.contains(1));
System.out.println("5.获取指定索引2位置的元素:"+al.get(2));
System.out.println("6.返回指定元素2的索引:"+al.indexOf(2));
}
//克隆clone(克隆返回的是Object,所以克隆只能复刻当前列表,后续列表怎么变化并不影响.)
public void test3(){
ArrayList<Integer> al = new ArrayList<>();
al.add(1);al.add(2);al.add(null);
System.out.println("原始列表:"+al);
System.out.println("----------------------");
Object al2 = al.clone();
System.out.println("7.克隆当前列表:"+al2);
al.add(4);
System.out.println("8.al新增元素:"+al);
System.out.println("9.al2不受影响的:"+al2);
}
//列表大小、转数组size+toArray
public void test4(){
ArrayList<Integer> al = new ArrayList<>();
al.add(1);al.add(2);al.add(null);
System.out.println("原始列表:"+al);
System.out.println("----------------------");
System.out.println("10.返回列表al的大小:"+al.size());
System.out.println("11.ArrayList列表转换为Array数组:"+al.toArray());
}
public static void main(String[] args) {
ArrayListAPI ala = new ArrayListAPI();
System.out.println("****************测试1:*******************");
ala.test1();
System.out.println();
System.out.println("****************测试2:*******************");
ala.test2();
System.out.println();
System.out.println("****************测试3:*******************");
ala.test3();
System.out.println();
System.out.println("****************测试4:*******************");
ala.test4();
}
}
结果