一,定义

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

格式: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));

案例:随机点名不重复

package Dm;import java.util.*;public class ArrayListTest {public static void main(String[] args) {//使用list集合生成一个随机数组List<String> list = Arrays.asList("叶枫", "饶政", "郭汶广", "王志刚", "时力强", "柴浩阳", "王宁", "雷坤恒","贠耀强", "齐东豪", "袁文涛", "孙啸聪", "李文彬", "孙赛欧", "曾毅", "付临","王文龙", "朱海尧", "史艳红", "赵冉冉", "詹梦", "苏真娇", "张涛", "王浩","刘发光", "王愉茜", "牛怡衡", "臧照生", "梁晓声", "孔顺达", "田野", "宫帅龙","高亭", "张卓", "陈盼盼", "杨延欣", "李蒙惠", "瞿新成", "王婧源", "刘建豪","彭习峰", "胡凯", "张武超", "李炳杰", "刘传", "焦泽国");ArrayList<String> names=new ArrayList<>(list);//使用random生成一个随机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")){//获取A随机一个集合下标int index =random.nextInt(names.size());System.out.println("本次抽到:"+names.get(index));//该学生已被抽到即清除names.remove(index);}else{System.out.println("本次抽查结束");break;}}}}

其他用法:

类 ArrayList<E>相关推荐

  1. 10、Scanner类.Random类.Arraylist类

    10.Scanner类.Random类.Arraylist类 1.API概述和使用步骤 2.Scanner概述及其API文档的使用 3.Scanner的使用步骤 4.Scanner练习一_键盘输入两个 ...

  2. Java集合(4)--List接口及其实现类ArrayList、LinkedList和Vector

    文章目录 List接口概述 List接口常用方法 ArrayList实现类 LinkedList实现类 Vector实现类 List接口概述 List集合类中元素有序.且可重复,集合中的每个元素都有其 ...

  3. java vector实现的接口_java的List接口的实现类 ArrayList,LinkedList,Vector 的区别

    Java的List接口有3个实现类,分别是ArrayList.LinkedList.Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复. 3个具体实现类的区别如下: 1. Array ...

  4. java vector实现的接口_java中List接口的实现类 ArrayList,LinkedList,Vector 的区别 list实现类源码分析...

    java面试中经常被问到list常用的类以及内部实现机制,平时开发也经常用到list集合类,因此做一个源码级别的分析和比较之间的差异. 首先看一下List接口的的继承关系: list接口继承Colle ...

  5. 集合专辑(二):List实现类ArrayList解读

    ArrayList解读 简介 ArrayList是Java集合中出场率最多的一个类. 结构图 如果实现AbstractList 源码分析 javaDoc分析 静态变量 成员变量 构造方法 重要方法解读 ...

  6. arraylist 初始化_Java二维数组和动态数组ArrayList 类

    Java二维数组 Java 语言中提供的数组是用来存储固定大小的同类型元素. 1.二维数组初始化和声明 数组变量的声明,和创建数组可以用一条语句完成,如下所示: int a[][] = new int ...

  7. java remove removeat_2016.3.12 Java中ArrayList类详解(转)

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...

  8. List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源代码解析

    学习List接口实现类 ArrayList  Vector  LinkedList List接口的实现类中最经常使用最重要的就是这三个:ArrayList.Vector.LinkedList. JDK ...

  9. java学习(116):arraylist集合实现类

    import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; //员工信息类 //dat ...

最新文章

  1. linux bin命令解释,Linux:“awk”命令的妙用
  2. 工具用途_机械加工中研磨加工刀具(砂轮)﹑治工具及其用途
  3. 以未来的计算机为题写一篇作文,请以“未来的交通工具”为题写一篇英语作文...
  4. c语言用指针带出局部变量,关于C语言中返回局部变量和局部指针变量
  5. 杭电1024 Max Sum Plus Plus状压dp(java)
  6. cont::value_type相关的测试程序
  7. python 倒排索引 性能_python 实现倒排索引的方法
  8. 照片尺寸大小对照表_贴片led灯珠型号对照表在手,贴片灯珠选型从此不愁!
  9. Struts2 文件上传 文件类型 大小过滤
  10. ERROR 1201 (HY000) Could not initialize master info structure
  11. 深入解析Windows操作系统(笔记7)
  12. TTL电平和CMOS电平的区别,详细分析他们的区别
  13. BAT文件中如何注释:
  14. 【最优化导论】全局搜索算法
  15. android 微信图片动画,一款仿微信图片加载,微博图片加载,视频加载时的进度view...
  16. android M权限问题
  17. 高中数学基础08:关系、概率与统计
  18. 前端和后端是如何实现交互的
  19. 波特率9600是什么意思 串口通信为什么要设置波特率
  20. Lake Shore低温探针台的晶圆安装方法

热门文章

  1. 如何把 Docsify 文档部署到服务器?
  2. 解决feign调用无法解析IPage问题
  3. 楼宇对讲在IP网络中的发展
  4. python自动化处理,获得免费wps会员,云函数2021.4.25反馈失效(以后不进行此文章维护了)
  5. c语言中ex1=1,竞技比赛斗地主 -竞技比赛斗地主V5.7.97
  6. MySQL批量修改一个字段的部分内容
  7. ht1621b和单片机电平匹配_上一个HT1621B的驱动程序!绝对原创啊!
  8. IDC行业的前景怎么样?
  9. PHP实现后端,php开发-如何调用后端服务
  10. 自己动手将在线文档制作成CHM文件