直接看代码了,
public static void main(String[] args) {
List list = new ArrayList();//List是个原始类型,generic type List<E> should be parameterized泛型类型需要被参数化,如果不被参数化,这里会提示一定的警告
//这里我们是需要测试List它能放哪些类型,所以我们就不参数化。
//List其实就是一个数组,只不过这个数组里面的元素可以放很多种,如果一旦被参数化,那么里面的元素就应该是一种类型的
//测试 添加元素add()方法
list.add("atguigu");//List里面加入一个字符串,类型String
list.add(123);//List里面加入一个字符串,类型int
list.add(new Date());//List里面加入一个字符串,类型Date
list.add(1, 234);//通过下标来添加元素,在List数组的第2个元素的位置添加234,类型为int类型
//测试 取出元素函数get()
//get(int index),参数是下标,从0开始
System.out.println(list.get(0));//输出List数组中的第一个元素的值,
System.out.println(list.size());//输出List数组的大小
System.out.println(list.get(1));//输出List数组中的第2个元素的值,
System.out.println(list.get(2));//输出List数组中的第3个元素的值,
//测试 删掉元素函数remove(),注意这个函数的参数,可以通过下标来删除一个元素,也可以通过对象来删除一个元素
//remove(int index)
//remove(Object obj)
list.remove(new String("atguigu"));//通过一个String类型的对象来删除指定的元素atguigu
System.out.println(list.size());//删除之后再来看看list的数组大小
//测试 重置元素的值,也就是修改list数组里面的指定位置的内容
//set
list.set(0, "abcd");//将数组list的第一个元素设置为abcd字符串,类型是String
System.out.println(list.get(0));//然后将刚刚设置的值输出,看看是否设置成功
//保证通过ArrayList创建的对象的线程安全
list = Collections.synchronizedList(list);//有些容器是线程安全的,比如:Vector, 而有些是不安全的,如:List
//Collections.synchronizedList的作用是把本身不是线程安全的容器变成线程安全的
// public List<E> list = Collection.synchronizedList(new ArrayList<E>());
}