java学习笔记(ArrayList集合)

本文介绍了Java中ArrayList集合的概念、优点以及如何使用。ArrayList作为动态数组,允许长度变化,可方便地添加、获取和删除元素。通过示例展示了ArrayList的常用方法,如add、get、remove和size。此外,还解释了如何存储基本数据类型,利用包装类实现自动装箱和拆箱。
摘要由CSDN通过智能技术生成

对象数组

  • java中数组可以储存任意对象,包括自定义的类实例化生成的对象
  • 下图中定义了一个Person的类

在这里插入图片描述

  • 接下来创建一个长度数组,用来储存三个Person对象
  • 当数组被创建后,如果没有向数组中添加元素,那么数组中的值全部为null

在这里插入图片描述

  • 输出为null

在这里插入图片描述

  • 如果将对象作为元素添加入数组中,那么数组中存放的为对象的地址值

在这里插入图片描述

  • 最后得到的输出为3个对象的地址值

在这里插入图片描述

  • 此时,数组元素可以直接代表实例化后的对象,来调用该类中的方法

在这里插入图片描述

  • 数组作为一种容器有一个很大的缺点,那就是数组一旦被创建,那么它的长度就被确定了下来。如果想要添加别的元素,就需要另外创建一个数组来存放,并且要将原数组的内容挪至新数组中。

ArrayList集合

什么是ArrayList集合

  • ArrayList是一种类似于数组的容器,它可以存放java中的对象
  • ArrayList相较于数组的优点就是,数组的长度是固定的。而ArrayList的长度可以改变,可以通过add的方法向ArrayList中添加元素。
  • ArrayList中存放的数据只能是引用类型,不可以是基本类型

如何使用ArrayList

  • 导包:java.util.ArrayList<E>
    • ArrayList<E>中的<E>代指泛型的意思。
    • 泛型:就是装在集合当中的所有元素,全都是统一的什么类型
    • 注意泛型只能是引用类型,不能是基本类型
  • 实例化:ArrayList<String> list = new ArrayList<>();
    • 创建了一个ArrayList集合,集合的名字是list,里面装的全都是String字符串类型的数据
    • 注意:从JDK 1.7+开始,右侧的尖括号可以不写内容,但是<>本身还是要写的
  • 对于ArrayList集合来说,**直接打印得到的不是地址值,而是内容。**如果内容为空,得到的则是中括号[]。
  • 过数组创建ArrayList
	String[] stringArray = { "a", "b", "c", "d", "e" };  
    ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));  

ArrayList集合的常用方法

方法名返回值参数类型功能功能
add(E e)是否添加成功(boolean)和集合中元素类型一致向集合当中添加元素
get(int index)对应位置的元素(与ArrayList中元素的类型一致)要获取元素的索引值从集合中获取元素
remove(int index)从集合中删除的元素(与ArrayList中元素的类型一致)要删除元素的索引值从集合中删除元素
size()集合中包含元素的个数(int)获取集合的长度
  • 注意:对于ArrayList集合来说,add添加动作是一定成功的,所以add()的返回值可用可不用。大是对于其他集合来说,add添加的动作不一定成功。

ArrayList储存基本数据类型

  • 由于泛型只能储存引用类型,不能储存基本数据类型。因此需要对基本数据类型进行“包装”,使得ArrayList集合可以存放基本数据类型
基本类型包装类(引用类型,包装类都位于java.lang包下)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
  • 除了Integer(int)Character(char),其他都只要将首字母变为大写即可
  • 从JDK 1.5+开始,都支持自动装箱、自动拆箱
    • 自动装箱:基本类型 --> 包装类
    • 自动拆箱:包装类 --> 基本类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值