23、集合——ArrayList

定义

List 接口的大小可变数组的实现

特点

最常用,有序,可重复,但不同步

构造方法

public ArrayList()构造一个初始容量为 10 的空列表

成员方法

void add(int index, Object o)在列表的指定位置插入指定元素

Object get(int index)返回列表中指定位置的元素

Object remove(int index)移除列表中指定位置的元素

Object set(int index, Object o)用指定元素替换列表中指定位置的元素(可选操作)

int size()返回列表中的元素数

ListIterator listIterator()返回此列表元素的列表迭代器(按适当顺序)
ListIterator的方法:
1、boolean hasPrevious()如果以逆向遍历列表
2、Object previous()返回列表中的前一个元素
例如:

List list=new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");

ListIterator listIterator=list.listIterator();
while (listIterator.hasNext()) {
	Object o = (Object) listIterator.next();
	System.out.println(o);
}

System.out.println("--------------------------");

while (listIterator.hasPrevious()) {
	Object o = (Object) listIterator.previous();
	System.out.println(o);
}

注意点:
1、必须先正向遍历一遍,才能反向遍历
2、迭代器是依赖于集合注意此异常:ConcurrentModificationException
解决:
1、迭代器既可以迭代元素,也可以修改元素:新增的元素紧跟判断元素的后面
2、集合遍历元素,集合修改(for):新增的元素紧放在集合最后面
例如:

List list1=new ArrayList();
list1.add("a");
list1.add("b");
list1.add("c");
list1.add("d");

ListIterator it=list1.listIterator();
//1
while (it.hasNext()) {
	Object o = (Object) it.next();
	if ("b".equals(o)) {
	it.add("zhaodao");
	}
}
//2
for (int i = 0; i < list1.size(); i++) {
	String string=(String)list1.get(i);
	if ("b".equals(string)) {
		list1.add("zhaodao");
	}
}
System.out.println(list1);

注意点:字面值字符串放在equals前面可以提高代码效率

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值