ArrayList概念
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。
有关ArrayList类提供的构造函数列表
构造函数 描述
- ArrayList() 此构造函数构建一个空数组列表
- ArrayList(Collections) 此构造函数构建一个数组列表,该列表使用集合 c 元素进行初始化
- ArrayList(int capacity) 此构造函数构建具有指定初始容量的数组列表。容量是用于存储元 素的基础数组的大小。 当元素添加到数组列表时,容量会自动增加
添加元素add();
ArrayList<String> list= new ArrayList<>();
list.add("zs");
list.add("LS");
list.add("LUCY");
System.out.println(list);
list.add(2,"马云");
System.out.println(list);
System.out.println(list.get(3));//得到索引位置
删除元素remove();
ArrayList a1 = new ArrayList();
a1.add("A");
a1.add("B");
a1.add("C");
a1.add("D");
System.out.println("显示内容如下"+a1);
//从ArrayList中删除元素
a1.remove("A");
a1.remove(2);
System.out.println("删除元素之后的内容如下"+a1);
}
}
使用 Scanner Rabdom ArrayList完成一个不重复的点名程序。
代码如下:
package com.lei;
import java.util.*;
public class Test01 {
public static void main(String[] args) {
//综合案例:使用Scanner Random ArrayList完成不重复随机点名册
//使用Arrays把数据转换成 集合,这个是一个固定数组形式
List<String> list = Arrays.asList("旺旺","喵喵","猪猪","龙龙","嘻嘻","哈哈");
///通过构造方法创建名单集合
ArrayList<String> names = new ArrayList<>(list);
//随机点一个人
Random random= new Random();
Scanner sc= new Scanner(System.in);
while (true){
//如果集合为空,结束循环
if (names.size()==0){
System.out.println("本次点名结束,请重新开始");
}
System.out.println("点名请输入1/2");
String input= sc.next();
if (input.equals("1")||input.equals("2")){
int index = random.nextInt(names.size());
String name = names.get(index);
System.out.println(name+"----为天选之人");
names.remove(index);
}else{
System.out.println("结束点名,欢迎下次使用");
break;//结束循环
}
}
}
}