3.泛型数组列表
1.声明数组列表
ArraysList<数据类型的封装型> list = new ArrayList<>();
java.util.ArrayList
/*
ArrayList<E>() 创建一个空数组列表
ArrayList<E>(int initialCapacity) 用指定容器构造一个空参数组列表
boolean add<E obj> 在数组列表的末尾追加一个元素,永远返回true
int size() 返回当前储存在数组列表中的元素个数
void ensureCapacity(int capacity)确保数组列表在不重新分配储存数组的情况下有足够空间储存给定数组的情况
void trimToSize() 将数组的容量消减到当前大小
*/
2.访问数组列表元素
需要使用get,set方法来进行访问。
ArrayList<Object> list = new ArrayList<>();
list.set(0,1);
list.get(0);
以上代码会报错,因为在list数组列表中没有添加元素.所有在使用set,get方法时,请保证下标不越界。
拷贝数组使用toArray方法
ArrayList<Object> a = new ArrayList<>();
list.toArray(a);
增就有删
list.remove(i); 删除i位置的元素
E set(int index , E obj); 将obj放置在数组列表的指定索引位置,返回之前内容
E get(int index); 得到指定索引位置储存的值
void add(int index, E obj)后移元素从而将obj插入到指定索引位置
E remove(int index)删除指定索引位置的元素,并将后面的所有元素前移。返回所删除的元素
3.类型化与原始数组列表的兼容型
ArrayList<Object> list = new ArrayList<>();
public void update(ArrayList list){
}
在此可以将list对象直接传递给update方法,但添加到数组列表中的元素可能不是Object类型。访问这些元素时会出现异常。
相反,将一个原始ArrayList赋值给一个类型化的ArrayList会得到一个警告。
使用强制类型转换并不能避免出现警告。会得到另一个警告信息,指类型转换有误。
但当确保问题不太严重的情况下,可以用@SuppressWarnings(“unchecked”)注解来接受强制类型转换变量