ArrayList类的基本使用,完成案例随机不重复点名的程序

ArrayList集合
1. ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。

2. ArrayList 继承了 AbstractList ,并实现了 List 接口。

3. ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下:

import java.util.ArrayList; // 引入 ArrayList 类

ArrayList<E> objectName =new ArrayList<>();  // 初始化


4. ArrayList 是一个数组队列,提供了相关的添加、删除、修改等功能。

5. ArrayList 中的元素实际上是对象,在以上实例中,数组列表元素都是字符串 String 类型。

如果我们要存储其他类型,而 <E> 只能为引用数据类型,这时我们就需要使用到基本类型的包装类。

基本类型对应的包装类表如下:

基本类型引用类型
booleanBoolean
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter

访问 ArrayList 中的元素可以使用 get() 方法:

  public static void main(String[] args) {
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("weipinhui");
        sites.add("pinduoduo");
        sites.add("Taobao");
        sites.add("jingdong");
        System.out.println(sites);
    }

注意:数组的索引值从 0 开始。

ArrayList 类提供了很多有用的方法,添加元素到 ArrayList 可以使用 add() 方法

 public static void main(String[] args) {
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("weipinhui");
        sites.add("pinduoduo");
        sites.add("Taobao");
        sites.add("jingdong");
        sites.set(2, "Weixin"); // 第一个参数为索引位置,第二个为要修改的值
        System.out.println(sites);
    }

如果要修改 ArrayList 中的元素可以使用 set() 方法:

 public static void main(String[] args) {
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("weipinhui");
        sites.add("pinduoduo");
        sites.add("Taobao");
        sites.add("jingdong");
        sites.set(2, "Weixin"); // 第一个参数为索引位置,第二个为要修改的值
        System.out.println(sites);
    }

如果要删除 ArrayList 中的元素可以使用 remove() 方法:

  public static void main(String[] args) {
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("weipinhui");
        sites.add("pinduoduo");
        sites.add("Taobao");
        sites.add("jingdong");
        sites.remove(3); // 删除第四个元素
        System.out.println(sites);
    }

如果要计算 ArrayList 中的元素数量可以使用 size() 方法:

  public static void main(String[] args) {
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("weipinhui");
        sites.add("pinduoduo");
        sites.add("Taobao");
        sites.add("jingdong");
        System.out.println(sites.size());
    }

 使用Scanner、Random、ArrayList完成一个不重复的点名程序:

public static void main(String[] args) {
        //可以使用Arrays的asList实现序列化一个集合
        List<String> list= Arrays.asList("叶枫","饶政","郭汶广","王志刚","时力强","柴浩阳","王宁","雷坤恒",
                "贠耀强","齐东豪","袁文涛","孙啸聪","李文彬","孙赛欧","曾毅","付临",
                "王文龙","朱海尧","史艳红","赵冉冉","詹梦","苏真娇","张涛","王浩",
                "刘发光","王愉茜","牛怡衡","臧照生","梁晓声","孔顺达","田野","宫帅龙",
                "高亭","张卓","陈盼盼","杨延欣","李蒙惠","瞿新成","王婧源","刘建豪",
                "彭习峰","胡凯","张武超","李炳杰","刘传","焦泽国");
        //把list作为参数重新构建一个新的ArrayList集合
        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());
                System.out.println(""+names.get(index));
                //该学生已经被抽到,把他从集合中移除
                names.remove(index);
            }else{
                System.out.println("本次抽查结束");
                break;
            }
        }


    }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值