本人java新人,如本篇有错误,欢迎指正
ArrayList是一种动态数组,它的创建方法如下:
ArrayList<E> list = new ArrayList<>();
<>尖括号中填写类名,目前在使用中发现,在< >中不能填写基本数据类型如:
ArrayList<Integer> list = new ArrayList<>();//Integer是int的包装类
将Integer换成int,则会报错:
ArrayList<int> list = new ArrayList<>();
同样的,改成double、long、char也会报错,需要改成它们的包装类。
说完ArrayList创建的方法,接下来解释为什么说ArrayList是动态数组。
我们来看下两个代码的区别:
ArrayList<Integer> list = new ArrayList<>();
int[] i = new int[10];
可以看到,我们在定义int类型数组的时候加了i数组的长度,而创建ArrayList的时候并没有加入list数组的长度。
接下来我们再看一段代码:
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
for(int i=0;i<5;i++){
list.add(i);
}
for (Integer integer : list) {
System.out.println(integer);
}
运行结果为:
通过这段代码,可以看到,我们并没有定义list数组的长度,也就是说list数组的长度是根据你输入数据的多少而随之变化的,这也是为什么说ArrayList是动态数组。
ArrayList提供了许多方法,add()就是其中一种,在api中的解释是“将指定的元素追加到此列表的末尾”,也就是将数据一个一个添加进数组中。
除此之外,常用的还有remove()方法(删除该列表中指定位置的元素)和clear()方法(从列表中删除所有元素)。