Arraylist概念
Arraylist是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接口。可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
格式
ArrayList 底层是基于数组来实现容量大小动态变化的。
import java.util.ArrayList; // 引入 ArrayList 类
ArrayList<E> objectName =new ArrayList<>();
引用其他类
ArrayList 中的元素实际上是对象,在以上实例中,数组列表元素都是字符串 String 类型。
如果我们要存储其他类型,而 <E> 只能为引用数据类型,这时我们就需要使用到基本类型的包装类。
案例:随机不重复点名的程序
import java.util.*;
public class LX1 {
private static int x;
public static void main(String[] args) {
//可以使用Arrays的asList实现序列化一个集合
List<String> list= Arrays.asList("张三","李四","王五","赵六","柴七","老八");
//把list作为参数重新构建一个新的ArrayList集合
ArrayList<String> names=new ArrayList<>(list);
//使用Scanner、Random、ArrayList完成一个不重复的点名程序
Random random=new Random();
Scanner scanner=new Scanner(System.in);
while(true){
//如果集合中没有元紊了,则结束循坏
if(names.size()==0) {
System.out.println("已完成所有学生抽查,抽查结束请重新开始!");
break;
}
System.out.println("确认点名请输入Y/y");
String input=scanner.next();
if(input.equals("y")||input.equals("y")) {
//随机一个集合的下标
int index = random.nextInt(names.size());
System.out.println("本次抽到:" + names.get(index));
//该学生已被抽到,把他从集合中移除
names.remove(index);
}else{
System.out.println("本次抽查结束!");
break;
}
}
}
}