ArrayList类

本文详细介绍了ArrayList的基本用法,包括元素的增删改查操作,并演示如何结合Scanner和Random实现随机抽取列表中的姓名。通过实例展示了如何遍历、删除元素并确保不越界,以及在随机抽取后更新ArrayList。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ArrayList类的定义

是一个可以动态修改的数组,没有固定的大小和限制,我们可以添加或删除元素。

格式:ArrayList<E>  a=new ArrayList<>();

使用方法
常用方法和遍历
对于元素的操作,基本体现在--增、删、查。常用的方法有:
pubtic boolean add(E e):将指定的元素添加到上集合的尾部。
public E remove(int index):返回此集合中指定位置上的元素。返回被删除的元素

public E get(int index):返回此集合中指定位置上的元素。返回获取的元素。
public int size() :返回此集合中的元素数,遍历集合时,可以控制索引范围,防止越界。

增加
 

//添加
ArrayList<String> arr=new ArrayList<String>();
arr.add("张三");
arr.add("李四");
arr.add("王五");
System.out.println(arr);

删除

//删除
ArrayList<String> arr=new ArrayList<String>();
arr.add("张三");
arr.add("李四");
arr.add("王五");
arr.remove(1);//删除的是索引为1的数据,即删除该"李四"的信息
System.out.println(arr);

改写

//修改
ArrayList<String> arr=new ArrayList<String>();
arr.add("张三");
arr.add("李四");
arr.add("王五");
arr.set(1,"赵六");//修改索引为1的信息,即把“李四”修改成“赵六”
System.out.println(arr);

获取指定索引处的元素,把他输出

ArrayList<String> arr=new ArrayList<String>();
arr.add("张三");
arr.add("李四");
arr.add("王五");
//返回指定处的索引
System.out.println(arr.get(0));
System.out.println(arr.get(1));
System.out.println(arr.get(2));

完成随机抽取一个名字

知道了如何使用ArrayList添加,那么结合Scanner类和Random类完成随机抽取一个名字

1、使用Arrays.aslist录入内容

2、把list作为参数重新构建一个ArrayList集合

public static void main(String[] args) {
        List<String> list = Arrays.asList(
                "张三","丽斯","李四","王五","干辣椒","顾安安","钢化融合","嘎~嘎~嘎~","gargle","计划书","耗时间","驾驶员将","防晒霜","暗黑风","个人然而","荣华府","哎好烦");
        ArrayList<String> name=new ArrayList<>(list);
        Random ra=new Random();
        Scanner sc=new Scanner(System.in);

循环判断   如果集合中没有元素了,则结束循环

public static void main(String[] args) {
        List<String> list = Arrays.asList(
                "张三","丽斯","李四","王五","干辣椒","顾安安","钢化融合","嘎~嘎~嘎~",
"gargle","计划书","耗时间","驾驶员将","防晒霜","暗黑风","个人然而","荣华府","哎好烦");
        ArrayList<String> name=new ArrayList<>(list);
        Random ra=new Random();
        Scanner sc=new Scanner(System.in);
        while (true){
            //如果集合中没有元素了,则结束循环
            if(name.size()==0){
                System.out.println("已完成所有名字抽查,抽查结束请重新开始");
                break;
            }
            System.out.println("确认点名请输入Y/y");
            String input=sc.next();
            if(input.equals("y") || input.equals("y")){
                //随机一个集合下标
                int index=ra.nextInt(name.size());
                System.out.println("本次抽到"+name.get(index));
                //该名字已被抽到,把他从集合中移除
                name.remove(index);
            }else {
                System.out.println("本次抽查结束");
                break;
            }
        }
 }

如果不想继续抽取则随便输入另外一个字母结束抽查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值