java-ArrayList集合
ArrayList存储在java.util下,使用ArrayList前需要导包。
import java.util.ArrayList;
public class arrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
}
}
在这里,ArrayList<String> list = new ArrayList<String>();创建了一个list 集合存储String类型的数据。对于这行语句,在JDK7之前的版本必须如此书写,在JDK7之后的版本,后面一个尖括号的内容可以省略不写,比如ArrayList<String> list = new ArrayList<>();
ArrayList是JDK原生的一个类,这个类在底层做了一些处理,比如
- 打印对象不是地址值,而是集合中存储的数据内容
- 打印对象中会使用
[]将所有数据进行包裹。 - 内部使用数组实现,支持快速随机访问
ArrayList成员方法
| 方法名 | 说明 |
boolean add(E e) |
添加元素,返回值表示是否添加成功 |
boolean remove(E e) |
删除指定元素,返回值表示是否删除成功 |
E remove(int index) |
删除执行索引的元素,返回被删除的元素 |
E set(int index, E e) |
修改指定索引下的元素,返回会被修改元素的修改前的值 |
E get(int index) |
获取指定索引的元素 |
int size() |
集合的长度,也就是集合中元素的个数 |
boolean add(E e):添加元素,返回值表示是否添加成功
boolean add(E e)使用时是:<集合名称>.add(<数据值>)或者<集合名称>.add(<索引值>, <数据值>);返回值为返回值是布尔值,在ArrayList中,只要不出现内存错误,确实总是返回true。
import java.util.ArrayList;
public class arrayListDemo {
public static void main(String[] args) {
// 1. 创建一个集合
ArrayList<String> list = new ArrayList<String>();
// 2. 添加一个元素
list.add("a");
list.add(0, "b");
System.out.println(list.add("c"));
// 3. 打印集合
System.out.println(list);
}
}
解释代码:
ArrayList<String> list = new ArrayList<String>();-> 创建一个名为list的集合,该集合存储String类型的数据;list.add("a");-> 在list集合的末尾添加一个a的元素;list.add(0, "b");-> 在list集合的0索引处添加一个b的元素;System.out.println(list.add("c"));-> 在list集合的末尾添加一个c的元素,并打印这添加的返回值。在ArrayList中,使用boolean add(E e)返回的一定是true值。System.out.println(list);-> 打印list这个集合。
运行结果:

boolean remove(E e):删除指定元素,返回值表示是否删除成功
boolean remove(E e)使用时是:<集合名称>.remove(<需要删除的元素的值>),返回值是布尔值,表明是否删除成功。
import java.util.ArrayList;
public class arrayListDemo {
public static void main(String[] args) {
// 1. 创建一个集合
ArrayList<String> list = new ArrayList<String>();
// 2. 为集合填充数据
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
System.out.println(list);
// 3. 使用boolean remove(E e)删除元素
list.remove("1");
System.out.println(list.remove("3"));
System.out.println(list);
}
}
解释代码:
ArrayList<String> list = new ArrayList<String>();-> 创建一个名为list的集合,该集合存储String类型的数据;for (int i = 0; i < 10; i++) {list.add(String.valueOf(i));}-> 为list集合填充数据。System.out.println(list);-> 打印list这个集合。list.remove("1");-> 删除集合中数据值为1的元素System.out.println(list.remove("3"));-> 删除集合中数据值为3的元素,并打印是否删除成功。System.out.println(list);-> 打印list这个集合。
运行结果:

说明:
如果集合中存在多个同样数据值的元素,则只会删除索引最靠前的匹配的元素,换句话说,使用boolean remove(E e),一次只能删除一个元素。
import java.util.ArrayList;
public class arrayListDemo {
public static void main(String[] args) {
// 1. 创建一个集合
ArrayList<String> list = new ArrayList<String>();
// 2. 为集合填充数据
for (int i = 0; i < 10; i++) {
list.add("aaa");
}
System.out.println(list);
// 3. 使用boolean remove(E e)删除元素
list.remove("aaa");
System.out.println(list);
}
}

E remove(int index):删除执行索引的元素,返回被删除的元素
E remove(int index)使用时是:<集合名称>.remove(<索引值>);返回值类型是泛型,也就是集合创建时申明的类型;返回值是被删除的元素的值。
import java.util.ArrayList;
public class arrayListDemo {
public static void main(String[] args) {
// 1. 创建一个集合
ArrayList<String> list = new ArrayList<String>();
// 2. 为集合填充数据
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
System.out.println(list);
// 3. 使用E remove(int index)删除元素
list.remove(2);
System.out.println(list.remove(5));
System.out.println(list);
}
}
解释代码:
ArrayList<String> list = new ArrayList<String>();-> 创建一个名为list的集合,该集合存储String类型的数据;for (int i = 0; i < 10; i++) {list.add(String.valueOf(i));}-> 为list集合填充数据。System.out.println(list);-> 打印list这个集合。list.remove(2);-> 删除集合中索引值为2的元素System.out.println(list.remove(5));-> 删除集合中索引值为5的元素,并打印被删除的数据。System.out.println(list);-> 打印list这个集合。
运行结果:

E set(int index, E e):修改指定索引下的元素,返回会被修改元素的修改前的值
E set(int index, E e)使用时是:<集合名称>.set(<索引>, <新数据值>);返回值类型是泛型,也就是集合创建时申明的类型;返回值是被修改元素的修改前的值。
import java.util.ArrayList;
public class arrayListDemo {
public static void main(String[] args) {
// 1. 创建一个集合
ArrayList<String> list = new ArrayList<String>();
// 2. 为集合填充数据
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
// 3. 使用E set(int index, E e)修改元素
list.set(1, String.valueOf(100));
System.out.println(list.set(2, String.valueOf(100)));
}
}
解释代码:
ArrayList<String> list = new ArrayList<String>();-> 创建一个名为list的集合,该集合存储String类型的数据;for (int i = 0; i < 10; i++) {list.add(String.valueOf(i));}-> 为list集合填充数据。list.set(1, String.valueOf(100));-> 修改集合中索引值为1的元素,将值修改为100。System.out.println(list.set(2, String.valueOf(100)));-> 修改集合中索引值为2的元素,将值修改为100,并打印修改之前元素的值。
运行结果:

E get(int index):获取指定索引的元素
E get(int index)使用时是:<集合名称>.get(<索引>);返回值类型是泛型,也就是集合创建时申明的类型;返回值数据是指定索引中元素的数据。
import java.util.ArrayList;
public class arrayListDemo {
public static void main(String[] args) {
// 1. 创建一个集合
ArrayList<String> list = new ArrayList<String>();
// 2. 为集合填充数据
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
// 3. 使用E get(int index)查询元素
System.out.println(list.get(1));
}
}
解释代码:
ArrayList<String> list = new ArrayList<String>();-> 创建一个名为list的集合,该集合存储String类型的数据;for (int i = 0; i < 10; i++) {list.add(String.valueOf(i));}-> 为list集合填充数据。System.out.println(list.get(1));-> 查找集合中索引值为1的元素,并打印。
运行结果:

int size():获取集合的长度
int size()使用时是:<集合名称>.size(),返回值为int类型,表示集合的长度。
import java.util.ArrayList;
public class arrayListDemo {
public static void main(String[] args) {
// 1. 创建一个集合
ArrayList<String> list = new ArrayList<String>();
// 2. 为集合填充数据
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
// 3. 使用int size()获取集合的长度
System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + "\t");
}
}
}
解释代码:
ArrayList<String> list = new ArrayList<String>();-> 创建一个名为list的集合,该集合存储String类型的数据;for (int i = 0; i < 10; i++) {list.add(String.valueOf(i));}-> 为list集合填充数据。System.out.println(list.size());-> 打印集合的长度;for (int i = 0; i < list.size(); i++) {System.out.print(list.get(i) + "\t");}-> 遍历打印集合的元素;
运行结果:
