java arraylist泛型_Java 泛型数组列表 ArrayList (动态数组)的使用

一、说明

Java 提供一个类可以解决数组的动态长度的问题,它就是 ArrayList 类,即泛型数组列表,也就是所谓的动态数组。使用 ArrayList 可以实时地添加元素而不用去管长度的问题。

ArrayList 属于集合类库,实现了 List 接口。

二、基本使用

1.声明

ArrayList 是一个采用 类型参数 的 泛型类。需要用尖括号将类名括起来加在后面,以指定数组列表保存的元素对象类型。注意尖括号内只能是类,不能是基本数据类型,如要存储基本数据类型,可使用对象包装器(Integer 等)

ArrayList arrList = new ArrayList(); //声明和构造一个用来保存 String 类型的动态数组

2.元素的添加与移除

使用 add 方法将元素添加到数组列表中,分为默认的末尾添加和指定顺序添加。使用索引添加时,索引后面的元素都会往后移一位。

arrList.add("first");//添加到末尾

arrList.add(3,"third");// 通过索引添加到第三位,原本在第三位及后面的元素顺次后移

使用 remove 方法删除指定位置元素,其后的元素将顺次前移,删除的元素将通过返回值返回。

String s = arrList.remove (3);//删除第三个元素,s = third

对数组实施插入和删除操作的效率很低。

3.获取数组长度

使用 size 方法获取数组列表的实际元素长度 ,相当于数组的 length 方法。

4.访问数组列表元素

ArrayList 的元素只能通过 set(替换元素) 和 get(获取元素) 方法访问。注意,使用 set 方法设置元素时,只能替换已经存在的元素。

5.将 ArrayList 转换为数组

使用 toArray 方法将 ArrayList 转换为数组。

String [] arr = new String[arrList.size()];

arrList.toArray(arr);

三、扩展使用

1.长度问题

如果能够预估数组的元素数量,可以预先设置数组大小,先分配固定空间。有两种方法预设,分别是构造时传入参数和 ensureCapacity 方法。

ArrayList aList = new ArrayList<>(100);

ArrayList bList = new ArrayList<>();

bList.ensureCapacity(100);//要在数组使用前调用

两种方法均为数组分配100个对象的空间。

ArrayList 的初始分配空间和数组不同,ArrayList只是预留空间,其内没有元素。

如果添加时元素超过100个,会再次分配100个空间。这意味着如果有102个数,ArrayList的实际占用空间是200个对象的空间。

在长度确定之后,可以使用 trimToSize 方法将容量削减到当前尺寸。但再次添加时又会增加100个空间。

2.ArrayList 还有一些不常用的方法,如 isEmpty 判断是否为空、addAll 添加集合等,使用时参考官方文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值