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> 只能为引用数据类型,这时我们就需要使用到基本类型的包装类。
基本类型对应的包装类表如下:
基本类型 | 引用类型 |
---|---|
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类的基本使用,完成案例随机不重复点名的程序相关推荐
- Scanner、Random和ArrayList的基本使用规则;猜数字的小游戏程序与随机不重复点名的程序
介绍Scanner类.Random类.ArrayList类的基本使用,完成案例随机不重复点名的程序 Scanner Scanner类是一个文本扫描器类,对字符串文本进行扫描操作. Scanner主要作 ...
- Java基础:ArrayList类和Arrays类
ArrayList类 ArrayList类 ArrayList类的意义 ArrayList使用步骤 ArrayList类的常用方法 ArrayList如何存储基本数据类型 Arrays类 Arrays ...
- java remove removeat_2016.3.12 Java中ArrayList类详解(转)
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...
- 【Java5】String类,StringBuilder类,ArrayList类,Object类(toString,equals,hashCode)
文章目录 1.String类:字符串常量在Java中不属于基本数据类型, 而是引用/类类型 1.1 使用:new String(...) 1.2 判断:equals函数是用来比较两个对象是否相等 1. ...
- java中常用API、Scanner类、匿名对象、Random类、ArrayList类、对象数组
java中常用API: API:Application Programming Interface,应用程序编程接口.Java API是JDK中提供给我们使用的类的说明文档.这些类将底层的代码实现封装 ...
- Java API —— ArrayList类 Vector类 LinkList类
1.ArrayList类 1)ArrayList类概述 · 底层数据结构是数组,查询快,增删慢 · 线程不安全,效率高 2)ArrayList案例 · 存储字符串并遍历 · 存储自定义对象并遍历 2. ...
- 基础02Random类、ArrayList类
Random类 Random类用来生成随机数字.使用起来也是三个步骤: 导包 import java.util.Random; 创建 Random r = new Random(); // 小括号当中 ...
- ArrayList类的详解
ArrayList类 1.基本使用: import java.util.ArrayList;public class StudentArrayList {public static void main ...
- java-learning:32. ArrayList类应用
1. 生成6个1-33之间的随机整数,添加到集合,并遍历集合 思路: 1. 需要存储6个数字,创建一个集合, <Integet> 2.产生随机数,需要用到Random 3.用循环6次,来产 ...
- ArrayList 类 的简单应用
说明:仅用于复习备考.不做其他用途.转发请备注. 题目:小型电影DVD在线销售系统,它需要完成如下功能: 能够存储n个电影DVD对象,数量不确定 能够获取电影DVD对象的总数 能够取出电影DVD对象并 ...
最新文章
- android编译系统Android.mk使用详解
- js 转义成html,js转义html,反转义
- mysql 权限管理 目录
- 使其正序排序 打印一串数字_JavaScript计数排序算法
- 怎么查看计算机的系统内存大小,Windows10系统怎么查看电脑内存大小
- 《迷人的8051单片机》---3.2 语句
- python旋转矩阵_python – 来自两个3D点的Euler角度和旋转矩阵
- 强大的Qtstylesheet
- python dict hash_Python Hashmap/Dicti
- [机器学习]推荐系统之协同过滤算法
- Google 2018 更新内容
- HD AUDIO再2003安装的问题
- com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
- 无线路由器网络安全设置的九种方法
- 唯品会收购第三方支付牌照正式落槌 浙江贝付完成更名
- JS中every()和some()的对比使用丨蓄力计划
- vs各个版本的编译器号对应的vs版本号
- PicPick软件系统语言设置
- c语言子菜单退出返回主菜单,毕业论文_图书管理系统设计报告077喜欢就下吧(范文1)...
- mysql 赋予用户权限 grant all privileges on
热门文章
- Wilcoxon秩和检验MATLAB实现
- php dwg转pdf文件怎么打开,CAD转PDF怎么转为黑白的PDF文件
- 海康威视NVR硬盘录像机DS-7808N安装调试教程,监控系统安装教程
- 计算机3大总线名词解释,计算机名词解释-- 总线.doc
- 4r照片尺寸是多大_4r照片尺寸(正常照片是5寸还是6寸)
- C++编码规范与指导
- 【预测模型-RF预测】基于随机森林算法实现数据回归预测附matlab代码
- ArcGIS亚洲字体(CJK)垂直显示
- 飞鱼星行为管理路由器【限制视频】方法(网页+客户端)
- elementui中表格的表头设置背景颜色