一.什么是ArrayList类
1.ArrayList是可以实现长度可变的数组 存储在内的数据称为元素。
2.ArrayList 是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。
二.格式
import java.util.ArrayList; // 引入 ArrayList 类
ArrayList<E> objectName =new ArrayList<>(); // 初始化
三.常用的方法
添加元素 add() 方法
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("张三");
sites.add("李四");
System.out.println(sites);
}
访问元素 get() 方法:
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("张三");
sites.add("李四");
System.out.println(sites.get(1)); // 访问第二个元素
}
修改元素 set() 方法:
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("张三");
sites.add("李四");
sites.set(1, "王五"); // 第一个参数为索引位置,第二个为要修改的值
System.out.println(sites);
}
}
删除元素 remove() 方法:
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("张三");
sites.add("李四");
sites.remove(1); // 删除第2个元素
System.out.println(sites);
}
}
四.案例(完成随机点名不重复代码)
import java.util.*;
public class Studentlianxi {
public static void main(String[] args) {
//使用list集合生成一个随机数组
List<String> list = Arrays.asList("叶枫", "饶政", "郭汶广", "王志刚", "时力强", "柴浩阳", "王宁", "雷坤恒",
"贠耀强", "齐东豪", "袁文涛", "孙啸聪", "李文彬", "孙赛欧", "曾毅", "付临",
"王文龙", "朱海尧", "史艳红", "赵冉冉", "詹梦", "苏真娇", "张涛", "王浩",
"刘发光", "王愉茜", "牛怡衡", "臧照生", "梁晓声", "孔顺达", "田野", "宫帅龙",
"高亭", "张卓", "陈盼盼", "杨延欣", "李蒙惠", "瞿新成", "王婧源", "刘建豪",
"彭习峰", "胡凯", "张武超", "李炳杰", "刘传", "焦泽国");
//把list作为参数重新构建一个新的ArrayList集合
ArrayList<String> names = new ArrayList<>(list);
//使用random生成一个随机
Random random = new Random();
Scanner sc = new Scanner(System.in);
while (true) {
//如果集合没有元素
if (names.size() == 0) {
System.out.println("已抽查完");
break;
}
System.out.println("请输入Y 或者 y");
String input=sc.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;
}
}
}
}