Java的基本语法(9)-- ArrayList集合

十八、ArrayList集合

18.1、对象数组

数组有一个缺点: 一旦创建,程序运行期间长度不可以发生改变。
在这里插入图片描述

18.2、ArrayList集合概述 && 使用

18.2.1、概述

数组的长度不可以发生改变。但是Arraylist集合的长度是可以随意变化的。
对于Arraylist来说,有一个尖括号代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型\,不能是基本类型。
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容是空,得到的是空的中括号: []

18.2.2、使用

在这里插入图片描述

18.2.3、常用方法

public boolean add(E e)

向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
对于Arraylist集合来说,add添加动作一定是成功的,所以返回值可用可 不用。
public void add(int index,E element) :
插队,在指定索引位置,添加对应的元素。

public E remove(int\ index)

从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
在这里插入图片描述

public boolean remove(Object o)

根据元\素\进行删除,返回是否删除成功。(如果有相同元素,只删除第一个)。

特别注意:

当集合内存储数据为整数,会把元素删除当做索引删除。

解决方案:

需要对数据进行手动包装为一个对象元素。
在这里插入图片描述

public E set(int index, E element)\:\

修改指定索引位置,为传入的元素,返回被修改的元素。

public E get(int\ index)

从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
在这里插入图片描述

public int size()

获取集合的尺寸长度,返回值是集合中包含的元素个数。
在这里插入图片描述
在这里插入图片描述

18.3、集合存储基本数据类型

如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的咆装类。

基本类型包装类 (引用类型,包装类都位于java.lang包下)

byte Byte

short Short

int Integer 【特殊】

long Long

float Float

double Double

char Character 【特殊】

boolean Boolean

从JDK 1.5+开始,支持自动装箱、自动拆箱。

自动装箱:基本类型–>包装类型

自动拆箱:包装类型–>基本类型

18.4、案例

18.4.1、遍历集合

题目:

自定义4个学生对象,添加到集合,井遍历。

思路:

① 自定义Student学生类, 四个部分。

② 创建一个集合,用来存储学生对象。泛型:

③ 根据类,创建4个学生对象。

④ 将4个学生对象添加到集合中: add

⑤ 遍历集合: for、 size、 get
在这里插入图片描述

18.4.2、集合作为参数

题目

定义以指定格式打印集合的方法(Arraylist类型作为参数),使用{)扩起集合,使用@分隔每个元素。格式参照(元素@元素@元素}。
在这里插入图片描述

18.4.3、筛选集合

题目:
用一个大集合存入20个随机数字,然后筛选其中的偶效元素,放到小集合当中。
要求使用自定义的方法来实现筛选。
分析:
① 需要创建一个大集合,用来存储int数字,
② 随机数字就用Random nextInt
③ 循环20次,把随机数字放入大集合: for循环、add方法
④ 定义一个方法,用来进行筛选。
筛选,根据大集合,师选符合要求的元素,得到小集合。
三要素:
返回值类型:Arraylist小集合 (里面元素个数不确定)
方法名称:getSmallList
参数列表: Arraylist大集合 (装着20个随机数字)
⑤ 日判断(if)是偶数:num % 2 =θ
⑥ 如果是偶数,就放到小集合当中,否则不放。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值