前面已经介绍过Scanner 和Random 这里不在说了
1 ArrayList 类
ArrayList 类:集合类 是大小可以改变的数组的实现,存储在内的数据称为元素,此类提供一些方法来操作内部存储的元素,ArrayList 中可不断添加元素,其大小也自动增长。
使用步骤
java.util.ArrayList < E > :该类需要 import导入使后使用。
< E >:表示一种指定的数据类型,叫做泛型。 E ,取自Element(元素)的首字母。在出现 E 的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。代码如下:
ArrayList<String>,ArrayList<Student>
注意:泛型只能是引用类型,不能是基本类型。如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”。
基本类型 包装类(引用类型,包装类都位于java.lang包下)
创建基本格式
ArrayList<String> list = new ArrayList<>();
操作方式
public boolean add(E e);//向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
//备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。
//但是对于其他集合(今后学习)来说,add添加动作不一定成功。
public E get(int index);//从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
public E remove(int index);//从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
public int size();//获取集合的尺寸长度,返回值是集合中包含的元素个数。
2 随机不重复点名程序
import java.util.*;
public class test03 {
public static void main(String[] args) {
// 使用Arrays.asList创建一个固定数组
List<String> list = Arrays.asList("张三", "李四", "王五", "赵六", "孙七", "陈八");
// 通过构造方法把固定数组的内容添加到新的数组
ArrayList<String> names=new ArrayList<>(list);
// 创建键盘输入
Scanner sc=new Scanner(System.in);
// 创建 随机数
Random a=new Random();
// 死循环
while (true){
System.out.println("请输入A/a 开始点名 ");
// 获取键盘输入的数据进行判断
String as= sc.next();
if (as.equals("A")||as.equals("a")){
// 随机集合长度 随机数为获取内容所需要的下标
int indeax = a.nextInt(names.size());
// 通过下标获取集合中的内容
String s = names.get(indeax);
// 打印
System.out.println(s);
// 移出已经随机过的内容
names.remove(indeax);
// 判断如果集合的长度为0退出循环
if (names.size()==0){
System.out.println("点名结束");
break;
}
}else{
System.out.println("点名结束");
break;
}
}
}
}
运行结果