ArrayList对象可以用于存储一个对象列表,储存不限定个数的对象。ArrayList是一种泛型类,具有一个泛型类E,泛型类E定义在尖括号中,泛型类E用于约束集合中存储元素的数据类型,泛型类E只能是引用类型,不能使用类似int的基本数据类型代替泛型类型,可以指定一个具体的类型来替换E。
//此时的集合里面的元素数据类型就是String类型
ArrayList<String> array = new ArrayList<String>();
//此时集合中的元素数据类型就是Integer类型,此时只能使用泛型类,不能使用使用基本数据类型int
ArrayList<Integer> list = new ArrayList<>();
以下是ArrayList常用的方法。
public class array {
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<String>();
array.add("hello"); //添加元素,第一个元素
array.add("world"); //第二个元素
array.add("welcome");
array.add("JavaEE");
//在下标为0的位置添加一个元素
array.add(0,"Happy");
//判断集合中是否包含该元素,返回布尔类型,包含就返回true,不包含就返回false
System.out.println(array.contains("welcome"));
//删除指定下标的元素,并且返回删除的元素
System.out.println(array.remove(0));
//返回布尔值,删除成功就是返回true,否则返回false
System.out.println(array.remove("world"));
//返回集合的长度
System.out.println(array.size());
//返回集合中第一个匹配元素的下标,如果不存在就返回-1
System.out.println(array.indexOf("wlecome"));
for (int i = 0; i < array.size(); i++){
//获得指定下标的元素
System.out.print(array.get(i) + " ");
}
//修改指定的下标元素并返回被修改的原来元素
System.out.println(array.set(0,"come"));
System.out.println(array);
//清空集合的所有元素
array.clear();
System.out.println(array);
//判断该集合是否为空,返回布尔类型
System.out.println(array.isEmpty());
//增加一个新元素到集合中的末尾,返回布尔类型
System.out.println(array.add("yeah"));
}
}
数组和ArrayList之间的异同
操作 | 数组 | ArrayList |
---|---|---|
创建数组/数组列表 | String[] a = new String[10] | ArrayList list = new ArrayList(); |
引用元素 | a[index] | list.get(index) |
更新元素 | a[index] = “HuNan” | list.set(index,“HuNan”) |
返回大小 | a.length | list.size |
添加一个新元素 | list.add(“HuNan”) | |
插入一个新元素 | list.add(index,“HuNan”) | |
删除一个元素 | list.remove(index)(通过元素下标进行删除,返回被删除的元素) | |
删除一个元素 | list.remove(Object)(直接删除元素,返回布尔值) | |
删除所有元素 | list.clear() |