ArrayList
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。
使用步骤:
.ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下:
import java.util.ArrayList;//引入ArrayList 类
ArrayList<String> list=new ArrayList<>();//初始化
一,ArrayList添加元素
使用add()方法:
package test06;
import java.util.ArrayList;
/**
* @author ZhangXiaoDie 2022/11/25 16:05
* @version 1.0
*/
public class ArrayListTest02 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("秋博");
list.add("梦雅");
list.add("春慧");
list.add("梦姣");
list.add("婉婷");
System.out.println(list);
list.add(2,"马云");
System.out.println(list);
System.out.println(list.get(3));
}
}
运行结果如下
案例 不重复的点名程序
package test06;
import java.util.*;
/**
* @author ZhangXiaoDie 2022/11/25 16:13
* @version 1.0
*/
public class Test03 {
public static void main(String[] args) {
//使用Arrays把数据转换成集合,这是一个固定的数组形式
List<String> list = Arrays.asList("秋博","梦雅","春慧","雨晴","婉婷","李冰","高影");
//通过构造方法创建名单集合,把list集合一一取出存入names集合中
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());
String name=names.get(index);
System.out.println(name+"-----为天选之人");
names.remove(index);
}else{
System.out.println("点名抽查,欢迎下次使用!");
break;//结束循环
}
}
}
}
运行结果如下