Java中的ArrayList集合、包装类、装箱与拆箱

本文深入解析ArrayList集合类的特性和使用方法,包括其动态数组特性、泛型使用、基本操作及与包装类的关系。同时,阐述了装箱和拆箱的概念,以及Java自动装箱拆箱机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

ArrayList

包装类

装箱和拆箱


 

 

ArrayList

 

ArrayList即动态数组集合类,为什么要引入ArrayList?我们之前学过的数组有两种声明方式,动态初始化需要指定数组长度;静态初始化需要指定数组的内容,可是很多时候我们既不确定数组的长度又不确定数组的内容,这就用到了ArrayList。

注意,由于ArrayList底层是一个数组,所以它查询快,增删慢。

ArrayList集合和普通数组最大的区别就是集合中数组的长度可以随意变化。

 

格式 

ArrayList<E> list = new ArrayList<>();

ArrayList的使用有一个尖括号<E>,它代表泛型。注意<>中的内容一定是包装类型而不能是基本类型。

那一定要有尖括号吗?不一定,但通常我们要带尖括号,原因可参照这篇博客

https://blog.youkuaiyun.com/Delicious_Life/article/details/105094658

 

使用

 

1.打印泛型的内容

对于ArrayList,直接打印得到的不是地址值而是内容。如果内容是空的,得到的是空的中括号“[ ]”

2.向集合中添加数据,使用add方法

3.从集合中获取元素,参数是索引编号,返回值就是对应位置的元素

4.从集合中删除元素,参数是索引编号,返回值就是对应位置的元素

5.获取集合的尺寸长度,返回值是集合中包含的元素个数

6.遍历集合

(除了使用for循环还可以通过迭代器以及增强for循环)

 

 

包装类

 

因为ArrayList里面存入的是地址值,而基本数据类型没有地址值,因此不能直接存储,但是我们可以存储基本类型对应的包装类

 

我们用了包装类之后常用的方法和String类型是一样的。但是我们需要注意一点,这个例子用的是int的包装类作泛型,我们最后获取Integer类型的元素是为什么能写成 int xxx = listC.get(1),下面就该介绍装箱和拆箱了

 

 

装箱和拆箱

 

听着有点抽象,但是只要你从上面一路读下来很容易就能记住这两个概念。

装箱:基本数据类型转换成包装类型

拆箱:包装类型转换成基本数据类型

而从jdk1.5开始,java已经实现了自动装箱和拆箱,因此在你获取基本类型元素时,直接使用基本类型变量接收即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值