集合的综合练习

自动点名器1:班级里有N个学生,实现随机点名器

public class test {public static void main(String [] args) {ArrayList<String> list=new ArrayList<>();//创建一个集合//在集合中添加元素Collections.addAll(list, "李明","王五","赵六","张三","李四","安然","杜若","范若","","倩倩");Random r=new Random();int index=r.nextInt(list.size());String name=list.get(index);System.out.println(name);}
}

自动点名器2:班级里有N个学生,要求:70%概率点到男生,30%概率点到女生。

分析:1)用一个【1,1,1,1,1,1,1,0,0,0】集合,打乱顺序,来获取随机索引,抽到1的概率为70%,抽到0的概率为30%。

2)创建男生集合,女生集合添加数据,判断索引值为1还是0,若为1在男生集合抽取,若为0在女生集合抽取。

public class test {public static void main(String [] args) {ArrayList<Integer> list=new ArrayList<>();//创建一个集合Collections.addAll(list, 1,1,1,1,1,1,1);Collections.addAll(list, 0,0,0);Collections.shuffle(list);//打乱顺序//获取随机索引Random r=new Random();int index=r.nextInt(list.size());int number=list.get(index);System.out.println(number);ArrayList<String> boy=new ArrayList<>();//男生集合Collections.addAll(boy, "李明","赵六","王五","安卓","李四","钱孙","史曾");ArrayList<String> girl=new ArrayList<>();//女生集合Collections.addAll(girl, "刘丽","范若","何怡");//判断索引为1还是0if(number==1) {int boyindex=r.nextInt(boy.size());//获取boy集合的随机索引System.out.println(boy.get(boyindex));}else {int girlindex=r.nextInt(girl.size());//获取girl集合的随机索引System.out.println(girl.get(girlindex));}}
}

自动点名器3:班级里有5个学生,要求:被点到的学生不会再被点到;但是如果班级中所有的学生都点完了,需要重新开启第二轮点名。
分析:1)被点到的学生不会再被点到,用remove移除集合中的元素,利用for循环保证将每位同学点到。

2)需要重新开启第二轮点名,用一个新集合保存旧集合的数据,remove移除完元素后,集合为空,将新集合数据赋给旧集合,利用for循环,定义开启第n次点名(假设点六次名)

public class test {public static void main(String [] args) {ArrayList<String> list=new ArrayList<>();//创建一个集合存放学生Collections.addAll(list, "李明","范若","王五","刘丽","史曾");Random r=new Random();int count=list.size();ArrayList<String> list1=new ArrayList<>();//第二个集合for(int j=0;j<=5;j++) {System.out.println("-------第"+(j+1)+"次点名--------");for(int i=0;i<count;i++) {int index=r.nextInt(list.size());String name=list.remove(index);//要保证被点到的同学不会再被点到,用remove移除集合元素list1.add(name);System.out.println(name);}list.addAll(list1);list1.clear();}}
}

集合嵌套:需求:定义一个Map集合,键用表示省份名称province,值表示市city,但是市会有多个。
添加完毕后,遍历结果格式如下:
江苏省=南京市,扬州市,苏州市,无锡市,常州市
湖北省=武汉市,孝感市,十堰市,宜昌市,鄂州市
河北省=石家庄市,唐山市,邢台市,保定市,张家口市
分析:值用单列集合存储。

public class test {public static void main(String [] args) {HashMap<String, ArrayList<String>> hm=new HashMap<>();ArrayList<String> city1=new ArrayList<>();Collections.addAll(city1, "南京市","扬州市","苏州市","无锡市","常州市");ArrayList<String> city2=new ArrayList<>();Collections.addAll(city2, "武汉市","孝感市","十堰市","宜昌市","鄂州市");ArrayList<String> city3=new ArrayList<>();Collections.addAll(city3, "石家庄市","唐山市","邢台市","保定市","张家口市");hm.put("江苏省", city1);hm.put("湖北省", city2);hm.put("河南省", city3);//利用entry遍历mapSet<Map.Entry<String, ArrayList<String>>> entries=hm.entrySet();for(Map.Entry<String, ArrayList<String>> entry:entries) {String key=entry.getKey();ArrayList<String> value=entry.getValue();StringJoiner sj=new StringJoiner(","," "," ");//传递标记,开始标记,结束标记for(String city:value) {sj.add(city);}System.out.println(key+" = "+sj);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/19278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案

一、找不到my.ini配置文件 MySQL 8 安装或启动过程中&#xff0c;如果系统找不到my.ini文件&#xff0c;通常意味着 MySQL服务器没有找到其配置文件。在Windows系统上&#xff0c;MySQL 8 预期使用my.ini作为配置文件&#xff0c;而不是在某些情况下用到的my.cnf文件。 通过 …

常用的优化器汇总及keras实现

1.SGD&#xff08;Stochastic Gradient Descent&#xff09; 2.RMSprop&#xff08;Root Mean Square Propagation&#xff09; 3.Adadelta 4.Adam&#xff08;Adaptive Moment Estimation&#xff09; 5.Nadam 6.代码实现 from sklearn.compose import make_column_transforme…

Java----Maven详解

前言 Maven是Java项目的构建工具&#xff0c;通过项目对象模型&#xff08;POM&#xff09;管理项目配置信息&#xff0c;自动化构建、测试和部署过程。开发人员可定义项目结构、依赖和构建流程&#xff0c;提高开发效率和质量。本文介绍基本概念和用法&#xff0c;帮助您更好…

文本生成流程图 泰酷啦 Excalidraw Mermaid Obsidian

前言 介绍一个很酷的工具&#xff0c;Mermaid to Excalidraw 。作用是用代码生成流程图。 Mermaid 是一款强大的、轻量级的文本到图表的转换工具&#xff0c;它允许用户使用简单的Markdown风格的语法编写文本描述&#xff0c;然后通过JavaScript引擎将其转换成美观的图表。Mer…

vue3 vite title 页面标题设置

效果图&#xff1a; 1. 安装 vite-plugin-html 插件 npm install vite-plugin-html -D2. 修改 vite.config.js import {defineConfig, loadEnv} from vite import { createHtmlPlugin } from "vite-plugin-html" import {resolve} from path import vue from vitej…

生成随机数值与二维数组的探索之旅

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、随机数生成的策略 三、实现过程与代码案例 四、注意事项与扩展讨论 一、引言…

el-image本地图片不显示,提示加载失败

问题描述&#xff1a;el-image使用本地图片不显示&#xff0c;提示加载失败。 <el-image src"../../assets/img/value.png"></el-image> 解决方法&#xff1a;src用里面加个require&#xff0c;注意给 src 属性加: <el-image :src"require(../..…

Mac在docker可视化界面上安装主流数据库

前言 篇幅有点长&#xff0c;大家可以打开目录快速跳转到想要的数据库即可&#xff01; 虽然说用命令行会显得我们更加专业一些&#xff0c;但对于我英语水平不怎么好的人来说&#xff0c;毕竟命令多又长&#xff0c;还不好记。我个人是喜欢复杂问题简单化&#xff0c;踩了很多…

今日好料推荐(大数据湖体系规划)

今日好料推荐&#xff08;大数据湖体系规划&#xff09; 参考资料在文末获取&#xff0c;关注我&#xff0c;获取优质资源。 大数据湖体系规划 一、大数据湖简介 大数据湖&#xff08;Data Lake&#xff09;是一个集中式的存储库&#xff0c;用于存储来自各种来源的结构化和…

「读书感悟」我们为什么要睡觉?

书名&#xff1a;我们为什么要睡觉&#xff1f; 作者&#xff1a;马修沃克 我觉得这是一本每个人都必须看的书&#xff0c;尤其是在如今卷上天的社会&#xff0c;部分人沉迷于学习工作&#xff0c;经常奋斗到半夜甚至通宵&#xff0c;更有甚者会有&#xff1a;“睡觉是在…

创建特定结构的二维数组:技巧与示例

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;二维数组的奇妙世界 二、方法一&#xff1a;直接初始化 1. 初始化一个…

利润而不是损失:谁信任你的游戏本地化

中国游戏市场巨大且前景广阔。这尤其适用于移动游戏&#xff1a;Statista预测&#xff0c;2024年。它的收入将达到346.6亿美元。然而&#xff0c;这种巨大的财务潜力也有其反面&#xff1a;游戏进入市场的次数越多&#xff0c;它们就越难以相互争夺玩家的注意力。此外&#xff…

Docker搭建Redis主从 + Redis哨兵模式(一主一从俩哨兵)

我这里是搭建一主一从&#xff0c;俩哨兵&#xff0c;准备两台服务器&#xff0c;分别安装docker 我这里有两台centos服务器 主服务器IP&#xff1a;192.168.252.134 从服务器IP&#xff1a;192.168.252.135 1.两台服务器分别拉取redis镜像 docker pull redis 2.查看镜像 d…

Nginx配置及优化

Nginx配置及优化 前言nginx.conf拆分理解上线 最近在配置Nginx的时候&#xff0c;偶尔一些细致的理论有些模糊&#xff0c;配置起来费了点功夫&#xff0c;今天来详细写一下我个人的理解&#xff0c;文章参考了一些官网和其他优秀博主的文章http://t.csdnimg.cn/GbID9。 前言 …

一款免费的软件媒体系统软件!!【送源码】

Jellyfin是一个免费的软件媒体系统&#xff0c;让您在管理和流媒体控制您的媒体。它是专有的Emby和Plex的替代品&#xff0c;通过多个应用程序从专用服务器向最终用户设备提供媒体。Jellvfin是Emby的3.5.2版本的后裔&#xff0c;并被移植到.NETCore框架中&#xff0c;以实现完全…

安卓赤拳配音v1.0.2Ai配音神器+百位主播音色

Ai配音神器 本人自用版本&#xff01;超级稳定&#xff01;百位主播音色 登陆即可用 链接&#xff1a;https://pan.baidu.com/s/1WVsrYZqLaPAriHMMLMdPBg?pwdz9ru 提取码&#xff1a;z9ru

Linux: network: tcp spurious retrans 的一个原因

最近分析问题的时候&#xff0c;从wireshark里看有&#xff1a;tcp spurious retrans 的包&#xff0c;309这个是307 的retransmission&#xff0c;而且在308 回复了ACK。那为什么会重传&#xff1f; 从网上找了一些&#xff0c;比如 https://www.packetsafari.com/blog/2021…

MySQL-innodb后台线程

文章目录 一、结构图二、后台线程①Master Thread②IO Thread③Purge Thread④Page Cleaner Thread 拓展知识 一、结构图 二、后台线程 InnoDB是多线程的模型&#xff0c;因此其后台有多个不同的后台线程&#xff0c;负责处理不同的任务 后台线程有&#xff1a; ①Master Thr…

洗地机哪个牌子最好用?十大名牌洗地机排行榜

作为一种新兴的智能家居产品&#xff0c;洗地机的市场规模已经突破了百亿大关。如此庞大的市场自然吸引了大量资本的涌入&#xff0c;许多品牌纷纷推出自己的洗地机产品&#xff0c;试图在这个竞争激烈的市场中占据一席之地。然而&#xff0c;面对如此多的品牌和型号&#xff0…

鸿蒙应用模型:【Stage模型开发】概述

Stage模型开发概述 基本概念 下图展示了Stage模型中的基本概念。 图1 Stage模型概念图 [AbilityStage] 每个Entry类型或者Feature类型的HAP在运行期都有一个AbilityStage类实例&#xff0c;当HAP中的代码首次被加载到进程中的时候&#xff0c;系统会先创建AbilityStage实例…