第十六章 ArrayList 类
16.1 ArrayList 概述
java.util.ArrayList
是大小可变的数组的实现,储存在内的数据成为元素。此类提供一些方法来操作内部储存的元素。ArrayList中可以不断增加元素,其大小也自动增长。
16.2 ArrayList 基本使用
java.util.ArrayList<E>
需要import导入后使用
<E>
表示一种指定的数据类型,泛型。全称:Element(元素)。在出现E
的地方,我们使用一种引用数据类型将其替换即可,表示我们将储存哪种应用类型的元素。代码如下:
(泛型:装在集合当中的所有元素,全都是统一的什么类型)
(注意! 泛型只能是引用类型,不能是基本类型)
16.2.1 创建格式
//创建一个ArrayList集合。
//备注:JDK1.7后开始,右侧的`<>`内部可以不写内容。
ArrayList<String> list = new ArrayList<>();
- 注意事项:
- 对于ArrayList集合,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空括号
[]
.如果内容不为空则[元素1,元素2,...]
。
- 对于ArrayList集合,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空括号
System.out.println(list);//[]或者[元素1,元素2,...]
16.2.2 常用方法
- add方法 添加数据
public boolean add(E e):向集合当中添加元素,参数类型和泛型一致。
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。但是对于(今后学习的)其他集合来说,add添加动作不一定成功。
list.add("IU");//[IU]
boolean success = list.add("Yoona");//[IU,Yoona]
//success的返回值表示是否添加元素成功。
- get方法 获取数据
public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
String name = list.get(1);//Yoona
- remove方法 删除元素
public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
String whoRemove = list.remove( index:0);
//删除后,后面位置的元素会自动向前移动
//whoRemove返回值为被删除的元素
- size方法 获取集合长度
- public int size():获取集合的尺寸长度,返回值是集合中包含元素的个数。
int size = list.size();//1
16.2.3 遍历集合中的元素
import java.util.ArrayList;
public class ArrayListEach {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("IU");
list.add("Suzy");
list.add("Yonna");
list.add("Tiffay");
list.add("Tae Yeon");
for (int i = 0; i < list.size(); i++) {
System.out.println((i + 1) + "." + list.get(i));
}
}
}
16.3 储存基本数据类型
- 泛型只能是引用类型,不能是基本类型。
- 如果希望向集合ArrayList当中储存基本类型的数据,必须使用基本类型对应的包装类。
包装类 的格式
基本类型 | 包装类(引用类型,包装类都位于java.lang下) |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
floot | Floot |
double | Double |
char | Character |
boolean | Boolean |
注意:从JDK 1.5+开始,支持自动装箱、自动拆箱。
自动装箱:基本类型
自动转换为 包装类型
自动拆箱:包装类型
自动转换为 基本类型
ArrayList<Integer> list = new ArrayList<>();