List之ArrayList

本文深入解析了ArrayList的内部实现机制,包括其基于数组的结构、默认初始化长度、动态扩容策略及增删查改操作的效率特点。同时,提供了创建、添加、查询、修改和删除等基本操作的示例代码。

ArrayList

实现了List接口,底层用数组实现,集合中允许元素为null,初始创建的时候默认创建长度为10的空间,如果装满后还需要再次添加数据,会再次创建一个新的数组,新的数组的长度为原本数组的1.5倍。再把数据放入新的数组。
在使用该集合的时候,增删操作会影响整个集合,效率偏低。
前面增加数据的时候,后面的数据均会后移,
前面删除数据的时候,后面的数据均会前移

其优势就是查询的效率很高。

常用操作:

//创建一个ArrayList的对象   在定义 时不需要指定长度
		List list = new ArrayList();
		//默认是添加到集合的末尾
		boolean bool = list.add(1);
		list.add("abcd");
		//指定位置添加
		list.add(0, 2);
		//循环集合
//		for(Object o : list) {
//			System.out.println(o);
//		}
		//修改指定位置的值
		list.set(1, "qwer");
		//删除
		list.remove(1);
		for(int i = 0;i < list.size();i++) {
			System.out.println("i="+i+"value="+list.get(i));
		}

为了帮助大家帮助自己更好的理解ArrayList,我自己也封装了一个自己的ArrayList,虽然不如本来的强大严谨,但是用的都是比较基础的代码方便你们也方便我自己理解,博文地址如下:自封装ArrayList

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值