javaArrayList

我们知道,数组是静态的,只有当它的大小确定了才能给它初始化赋值,而且这个大小是不能被修改的,所以有时候你刚开始不确定你要输入数据的多少时,简单的数组不好实现(万一你输入的数据多于数组大小时,就会报错:数组溢出),为此java引用了" 数组列表".数组列表格式如下:

ArrayList<参数类型>  变量名字= new ArrayList<参数类型可以没有>(容量大小也可以不写)

注意:只能是引用对象才可以使用ArrayList 如果基本数据类型想使用的话需要使用装箱器才可以使用!!!也就是说要想使用基本类型的数组列表,就必须 装箱 .像int装箱就变成Integer;

java中数组列表ArrayList 是一个类,它有构造函数和方法;
ArrayList构造函数:
javaArrayList_第1张图片

ArrayList方法:
javaArrayList_第2张图片
使用add方法可以将元素添加到数组列表中,数组列表管理着对象引用的一个内部数组,当数组的全部空间被用尽时,数组列表就会自动地创建一个更大的数组,并将所有的对象从较小的数组中拷贝到较大的数组中。

size方法将返回数组列表中包含的实际元素数目。
trimToSize方法将存储区域的大小调整为当前元素数量所需要的存储空间数目,垃圾回收器将回收多余的存储空间。要慎用,只有在确定不会在添加任何元素时,才调用
要想实现访问和改变数组元素就要使用get和set方法,而不使用人们喜爱的“[ i ]“语法格式。
当数组元素非常多时,对数组列表插入和删除的操作效率比较低,因为得将插入或删除元素位置之后的元素全都向前移动一个位置,这时就应该使用链表了。

看下面代码:

ArrayList list=new ArrayList();
list.add(3);

“3"本来是基本类型,当调用list.add(3);时,会自动变化成list.add(Integer.valueOf(3));,这种变换就叫"自动装箱”;

int n=list.get(i);

同样的,这回自动转化成int n=list.get(i).intValue();,这种变换就叫“自动拆箱

你可能感兴趣的:(Java核心)