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

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

一、添加元素

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

代码如下:

public class testList {public static void main(String[] args) {//创建ArrayList对象,泛型为String类型ArrayList<String> list = new ArrayList<>();//添加元素list.add("添");list.add("加");list.add("元");list.add("素");System.out.println(list);}
}

运行结果:

[添, 加, 元, 素]

二、完成随机抽取一个名字

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

1.使用Arrays.aslist录入内容

public static void main(String[] args) {List<String> list = Arrays.asList("佐菲","初代","赛文","杰克","艾斯","泰罗","奥特之父","奥特之母","雷欧","阿斯特拉","奥特之王","乔尼亚斯"," 爱迪"," 史考特"," 查克"," 贝斯"," 葛雷"," 帕瓦特"," 哉阿斯"," 迪迦 ","戴拿","盖亚","阿古茹","纳伊斯","高斯","杰斯提斯","雷杰多","奈克斯特","奈克赛斯","诺亚","奈欧斯","赛文21","麦克斯","杰诺","梦比优斯","希卡利","赛罗","赛迦","银和","维克特利","捷德","欧布","罗索","布鲁","格丽乔");

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

  public static void main(String[] args) {List<String> list = Arrays.asList("佐菲","初代","赛文","杰克","艾斯","泰罗","奥特之父","奥特之母","雷欧","阿斯特拉","奥特之王","乔尼亚斯"," 爱迪"," 史考特"," 查克"," 贝斯"," 葛雷"," 帕瓦特"," 哉阿斯"," 迪迦 ","戴拿","盖亚","阿古茹","纳伊斯","高斯","杰斯提斯","雷杰多","奈克斯特","奈克赛斯","诺亚","奈欧斯","赛文21","麦克斯","杰诺","梦比优斯","希卡利","赛罗","赛迦","银和","维克特利","捷德","欧布","罗索","布鲁","格丽乔");ArrayList<String> name=new ArrayList<>(list);

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

 public static void main(String[] args) {List<String> list = Arrays.asList("佐菲","初代","赛文","杰克","艾斯","泰罗","奥特之父","奥特之母","雷欧","阿斯特拉","奥特之王","乔尼亚斯"," 爱迪"," 史考特"," 查克"," 贝斯"," 葛雷"," 帕瓦特"," 哉阿斯"," 迪迦 ","戴拿","盖亚","阿古茹","纳伊斯","高斯","杰斯提斯","雷杰多","奈克斯特","奈克赛斯","诺亚","奈欧斯","赛文21","麦克斯","杰诺","梦比优斯","希卡利","赛罗","赛迦","银和","维克特利","捷德","欧布","罗索","布鲁","格丽乔");ArrayList<String> name=new ArrayList<>(list);Random ra=new Random();Scanner sc=new Scanner(System.in);

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

public static void main(String[] args) {List<String> list = Arrays.asList("佐菲","初代","赛文","杰克","艾斯","泰罗","奥特之父","奥特之母","雷欧","阿斯特拉","奥特之王","乔尼亚斯"," 爱迪"," 史考特"," 查克"," 贝斯"," 葛雷"," 帕瓦特"," 哉阿斯"," 迪迦 ","戴拿","盖亚","阿古茹","纳伊斯","高斯","杰斯提斯","雷杰多","奈克斯特","奈克赛斯","诺亚","奈欧斯","赛文21","麦克斯","杰诺","梦比优斯","希卡利","赛罗","赛迦","银和","维克特利","捷德","欧布","罗索","布鲁","格丽乔");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;}}}

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

ArrayList常用方法相关推荐

  1. java arraylist 常用方法_分享ArrayList中的几个常用方法的源码

    jdk1.7.0_79 上文里解析了有关ArrayList中的几个常用方法的源码--<有关ArrayList常用方法的源码解析>,本文将对LinkedList的常用方法做简要解析. Lin ...

  2. java中的string类和ArrayList常用方法

    Java中String类和ArrayList集合常用方法 String类常用方法 获取字符串的长度 方法很简单,很多数组都是使用这个方法来遍历数组中的元素,直接上代码: //获取字符串的长度 publ ...

  3. ArrayList常用方法,不积硅步无以至千里

    添加单个元素(可以是对象/基本类型/集合本身:arrayList.Add(元素) 添加集合中的每个元素(非集合本身):arrayList.AddRange(元素的集合) 指定位置插入元素:arrayL ...

  4. List之ArrayList常用方法总结:List删除、排序、分组

    List集合是平时编码常用的集合类,其中ArrayList和 Linklist使用最多,今天总结了 ArrayList常用的几个方法. 结合了基础类的数据和引用类的数据进行方法举例. 一.基础类数据 ...

  5. Java09-day09【ArrayList(概述、构造方法、常用方法、遍历)、简易学生管理系统】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] &qu ...

  6. 7.2 ArrayList集合、ArrayList遍历和常用方法

    想了解更多请查看java学习(idea版) 目录 数组存储对象 ArrayList类 ArrayList常用方法 列:ArrayList常用方法 ArrayList注意: 列:生成6个1~33之间的随 ...

  7. java中ArrayList类的操作

    ArrayList类是Java集合框架出现之后用来取代Vector类的: 二者底层原理都是基于数组的算法,一模一样. 区别: Vector: 所有的方法都使用了synchronized修饰符. 线程安 ...

  8. ArrayList 动态数组 0119

    ArrayList 动态数组 0119 实例化对象 ArrayList al = new ArrayList(); 常用方法 方法名 说明 boolean add(数据) 添加数据 boolean r ...

  9. 有关LinkedList常用方法的源码解析

    jdk1.7.0_79  上文里解析了有关ArrayList中的几个常用方法的源码--<有关ArrayList常用方法的源码解析>,本文将对LinkedList的常用方法做简要解析. Li ...

最新文章

  1. 卢宇:改善在线教育,人工智能大有可为
  2. live555 编译 linux,在树莓派上搭建LIVE555 Streaming Media服务器端
  3. C语言——常见的字符串函数+内存操作函数的介绍及实现
  4. Javascript的怪癖
  5. Java进阶02 异常处理
  6. 常见问题摘要(生活篇)
  7. 黑苹果hidp显示不清楚_魔兽世界9.0:盟约指挥台不显示胜率?搞清楚机制,轻松收菜!...
  8. 优化算法(一)—— 模拟退火算法(SA算法) 实战
  9. ActivityManager 管理Activity
  10. 9个最适合Elementor的免费主题【官方推荐】
  11. 感知机不能表示“异或”
  12. (九)C#之WinForm程序设计-升级版文本编辑器
  13. 物联网驱动数字化转型
  14. 【中土世界】萨鲁曼小传
  15. 基于SSM框架的借阅图书管理系统
  16. stl string 源代码分析
  17. myeclipse 修改项目名Tomcat启动项目报错java.lang.IllegalArgumentException: Can't convert argument: null...
  18. 推荐10个在线logo设计网站
  19. 如何下载IBM服务器驱动
  20. iphone手机上卸载非主界面上的软件

热门文章

  1. html模板留言板mysql_Php+mysql+html简单留言板制作
  2. 网站从无到上线都需要什么?
  3. QSS 自定义QMessageBox
  4. 记录一次nodejs爬取《17吉他》所有吉他谱(只探讨技术)
  5. elasticsearch8.2集群部署
  6. 踔厉奋发,笃行不怠!CASAIM 喜获2022年创新指标完成奖
  7. 单相LCL并网逆变器_电网电压全前馈+电容电流前馈_Tans论文复现simulink仿真
  8. 李彦宏:没有妻子就没有百度
  9. 平稳过程之均值遍历性定理 - 随机过程
  10. 兴趣图谱聚集用户 社区化电子商务正爆发