前言
- 该文章为Java基础自学笔记
- 其他内容:Java基础学习笔记目录
- 学习用书:
《Java核心技术 卷Ⅰ 基础知识(第10版)》
《Java经典编程300例》
第十二章 ArrayList类
12.1 集合概述
12.1.1 数组的特点
- 数组定义完成并启动后,类型确定,长度固定
- 在个数不确定,且要进行增删数据操作时,不便于数组操作
12.1.2 集合的特点
- 集合的大小不固定,启动后可以动态变化,类型也可以选择不固定
- 集合非常适合做元素个数不确定,且要进行增删操作的业务场景
- 集合提供了许多丰富、好用的功能
12.2 ArrayList快速入门
12.2.1 ArrayList集合
12.2.2 ArrayList集合的对象获取
构造器 |
说明 |
public ArrayList() |
创建一个空的集合对象 |
12.2.3 ArrayList集合添加元素的方法
方法名 |
说明 |
public boolean add(E e) |
将指定的元素追加到此集合的末尾 |
public boolean add(int index,E element) |
在此集合中的指定位置插入指定的元素 |
12.3 ArrayList对于泛型的支持
12.3.1 泛型概述
- ArrayList<E>:其实就是一个泛型类,可以在编译阶段约束集合对象只能操作某种数据类型
12.3.2 举例
- ArrayList<String>:此集合只能操作字符串类型的元素
- ArrayList<Integer>:此集合只能操作整数类型的元素
- 集合中只能存储引用类型,不支持基本数据类型(int=>Integer)
- 从JDK1.7开始,泛型后面的类型声明可以不写
ArrayList<String> list = new ArrayList<>();
12.4 ArrayList常用API
方法名 |
说明 |
public E get(int index) |
返回指定索引处的元素 |
public int size() |
返回集合中的元素的个数 |
public E remove(int index) |
删除指定索引处的元素,返回被删除的元素 |
public boolean remove(Objet o) |
删除指定的元素,返回删除是否成功 |
public E set(int index,E element) |
修改指定索引处的元素,返回被修改的元素 |
【ArrayList集合案例1】遍历并删除元素值
- 需求:
- 某个班级的考试在系统上进行,成绩大致为:98,77,66,89,79,50,100
- 现在需要先把成绩低于80分以下的数据去掉
- 分析:
- 定义ArrayList集合存储多名学员的成绩
- 遍历集合每个元素,找出低于80分的元素值并删除
- 一边遍历一遍删除时,要从后往前遍历,否则会漏数据
public static void main(String[] args) {
ArrayList<Integer> scoreList = new ArrayList<>();
scoreList.add(98);
scoreList.add(77);
scoreList.add(66);
scoreList.add(89);
scoreList.add(79);
scoreList.add(50);
scoreList.add(100);
System.out.println("班级成绩:" + scoreList);
for (int i = scoreList.size() - 1; i > 0; i--) {
if (scoreList.get(i) < 80) {
scoreList.remove(i);