一、ArrayList类
-
当我们需要将多个对象存储在一个数组当中时,我们就需要用到对象数组,但是数组的长度是固定的,不够灵活,无法适应数据变化的需求。为了解决这个问题,Java提供了另一个容器 java.util.ArrayList 集合类,让我们可以更便捷的存储和操作对象数据。
-
java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。 ArrayList 中可不断添加元素,其大小也自动增长。
我们在API文档中查看ArrayList类,可以看到 java.util.ArrayList ,该类需要 import导入使后使用。
其中,对于ArrayList来说,有一个尖括号代表泛型,泛型:就是装在集合当中的所有元素,全都是统一的什么类型
注意:泛型只能是引用类型,不能是基本类型
接下来我们用一个例子简单说明一下ArrayList集合的创建和给集合中添加数据的方法,代码如下:
import java.util.ArrayList;
public class Demo02ArrayList {
public static void main(String[] args) {
//创建了一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据
//备注:从jdk1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。
ArrayList<String> list = new ArrayList<>();
System.out.println(list); // []
//向集合当中添加一些数据,需要用到add方法。
list.add("nxy");
System.out.println(list); //[nxy]
list.add("dzy");
list.add("jhn");
list.add("wky");
System.out.println(list); //[nxy, dzy, jhn, wky]
// list.add(100); //错误写法!因为创建的时候尖括号泛型规定了是字符串,添加的元素必须都是字符串
}
}
二、常用方法
在数组集合ArrayList当中有一些常用的方法,列举如下:
- 向集合当中添加元素,参数的类型和泛型一致。
public boolean add(E e)
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。但是对于其他集合(今后学习)来说,add添加动作不一定成功。
- 从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
public E get(int index)
- 从集合当中删除元素,参数是索引编号,返回值就是被删除的元素。
public E remove(int index)
- 获取集合的尺寸长度,返回值是集合中包含的元素个数。
public int size()
下面对这四个方法进行简单的举例说明:
import java.util.ArrayList;
public class Demo03ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list); // []
//向集合中添加元素:add
boolean success = list.add("nxy");
System.out.println(list); // [nxy]
System.out.println("添加的动作是否成功:" + success); // true
list.add("dzy");
list.add("jhn");
list.add("wky");
System.out.println(list); //[nxy, dzy, jhn, wky]
//从集合中获取元素:get 索引值从0开始
String name = list.get(2);
System.out.println("第二号索引位置:" + name);
//从集合中删除元素:remove 索引值从0开始
String whoRemoved = list.remove(0);
System.out.println("被删除的人是:" + whoRemoved); // [dzy, jhn, wky]
System.out.println(list);
//获取集合的长度尺寸,也就是集合当中元素的个数
int size = list.size();
System.out.println("集合的长度是:" + size);
}
}
三、遍历数组集合
对于数组集合ArrayList的遍历方法如下:
import java.util.ArrayList;
public class Demo04ArrayListEach {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("nxy");
list.add("dzy");
list.add("jhn");
list.add("wky");
//遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
输出结果如下: