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> 只能为引用数据类型,这时我们就需要使用到基本类型的包装类。

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

基本类型 引用类型
boolean Boolean
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character

访问 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;}}}

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

  1. Scanner、Random和ArrayList的基本使用规则;猜数字的小游戏程序与随机不重复点名的程序

    介绍Scanner类.Random类.ArrayList类的基本使用,完成案例随机不重复点名的程序 Scanner Scanner类是一个文本扫描器类,对字符串文本进行扫描操作. Scanner主要作 ...

  2. Java基础:ArrayList类和Arrays类

    ArrayList类 ArrayList类 ArrayList类的意义 ArrayList使用步骤 ArrayList类的常用方法 ArrayList如何存储基本数据类型 Arrays类 Arrays ...

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

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

  4. 【Java5】String类,StringBuilder类,ArrayList类,Object类(toString,equals,hashCode)

    文章目录 1.String类:字符串常量在Java中不属于基本数据类型, 而是引用/类类型 1.1 使用:new String(...) 1.2 判断:equals函数是用来比较两个对象是否相等 1. ...

  5. java中常用API、Scanner类、匿名对象、Random类、ArrayList类、对象数组

    java中常用API: API:Application Programming Interface,应用程序编程接口.Java API是JDK中提供给我们使用的类的说明文档.这些类将底层的代码实现封装 ...

  6. Java API —— ArrayList类 Vector类 LinkList类

    1.ArrayList类 1)ArrayList类概述 · 底层数据结构是数组,查询快,增删慢 · 线程不安全,效率高 2)ArrayList案例 · 存储字符串并遍历 · 存储自定义对象并遍历 2. ...

  7. 基础02Random类、ArrayList类

    Random类 Random类用来生成随机数字.使用起来也是三个步骤: 导包 import java.util.Random; 创建 Random r = new Random(); // 小括号当中 ...

  8. ArrayList类的详解

    ArrayList类 1.基本使用: import java.util.ArrayList;public class StudentArrayList {public static void main ...

  9. java-learning:32. ArrayList类应用

    1. 生成6个1-33之间的随机整数,添加到集合,并遍历集合 思路: 1. 需要存储6个数字,创建一个集合, <Integet> 2.产生随机数,需要用到Random 3.用循环6次,来产 ...

  10. ArrayList 类 的简单应用

    说明:仅用于复习备考.不做其他用途.转发请备注. 题目:小型电影DVD在线销售系统,它需要完成如下功能: 能够存储n个电影DVD对象,数量不确定 能够获取电影DVD对象的总数 能够取出电影DVD对象并 ...

最新文章

  1. android编译系统Android.mk使用详解
  2. js 转义成html,js转义html,反转义
  3. mysql 权限管理 目录
  4. 使其正序排序 打印一串数字_JavaScript计数排序算法
  5. 怎么查看计算机的系统内存大小,Windows10系统怎么查看电脑内存大小
  6. 《迷人的8051单片机》---3.2 语句
  7. python旋转矩阵_python – 来自两个3D点的Euler角度和旋转矩阵
  8. 强大的Qtstylesheet
  9. python dict hash_Python Hashmap/Dicti
  10. [机器学习]推荐系统之协同过滤算法
  11. Google 2018 更新内容
  12. HD AUDIO再2003安装的问题
  13. com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
  14. 无线路由器网络安全设置的九种方法
  15. 唯品会收购第三方支付牌照正式落槌 浙江贝付完成更名
  16. JS中every()和some()的对比使用丨蓄力计划
  17. vs各个版本的编译器号对应的vs版本号
  18. PicPick软件系统语言设置
  19. c语言子菜单退出返回主菜单,毕业论文_图书管理系统设计报告077喜欢就下吧(范文1)...
  20. mysql 赋予用户权限 grant all privileges on

热门文章

  1. Wilcoxon秩和检验MATLAB实现
  2. php dwg转pdf文件怎么打开,CAD转PDF怎么转为黑白的PDF文件
  3. 海康威视NVR硬盘录像机DS-7808N安装调试教程,监控系统安装教程
  4. 计算机3大总线名词解释,计算机名词解释-- 总线.doc
  5. 4r照片尺寸是多大_4r照片尺寸(正常照片是5寸还是6寸)
  6. C++编码规范与指导
  7. 【预测模型-RF预测】基于随机森林算法实现数据回归预测附matlab代码
  8. ArcGIS亚洲字体(CJK)垂直显示
  9. 飞鱼星行为管理路由器【限制视频】方法(网页+客户端)
  10. elementui中表格的表头设置背景颜色