Java进阶:集合进阶统计次数(双列集合HashMap 单列集合Set):实现景点被选择的次数统计

~ 景点次数统计

     * 某个班级80名学生,现在需要组成秋游活动,* 班长提供了四个景点依次是(A,B, C, D),* 每个学生只能选择一个景点,请统计出最终那个景点想去的人数最多*/
  • 代码示例:
    public static void main(String[] LiuJinTao) {// 1. 生成景点,用来被选择String[] arr = {"A", "B", "C", "D"};ArrayList<String> list = new ArrayList<>();// 2. 80 名学生对景点进行投票Random r = new Random();for (int i = 0; i < 80; i++) {int randomIndex = r.nextInt(arr.length);list.add(arr[randomIndex]);}System.out.println(list);// 3. 创建 Map集合存储景点和被选次数HashMap<String, Integer> hm = new HashMap<>();for (String name : list) {// 1.判断当前景点是否存在 Map 集合中if (hm.containsKey(name)) {// 2.存在 得到次数添加一次int count = hm.get(name);count++;// 3.将新的次数重新覆盖(达到累加效果)hm.put(name, count);} else  {// 不存在 添加hm.put(name, 1);}}System.out.println(hm);// 4. 得到最大次数int max = 0;// 5. 遍历集合得到每个景点被选择的次数 (键值对遍历 Map 双列集合)Set<Map.Entry<String, Integer>> entry = hm.entrySet();      // entrySet() 方法得到键值对对象 存入单列集合中for (Map.Entry<String, Integer> stringIntegerEntry : entry) {// 通过 Set集合中的 get 方法获取键值对数据if (stringIntegerEntry.getValue() > max) {// 当景点的选择次数 大于 max   则交换赋值max = stringIntegerEntry.getValue();}}System.out.println(max);// 6. 判断景点被选的最多次数for (Map.Entry<String, Integer> ifMax : entry) {if (ifMax.getValue() == max) {System.out.println("票数最多的景点为: " + ifMax.getKey() + ":" + hm.get(ifMax.getKey()) + "票");}}}

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

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

相关文章

在windows和Linux中的安装 boost 以及 安装 muduo

二、安装boost boost官网&#xff1a;boost官网 我下载的boost版本&#xff1a; windows:boost_1_84_0.ziplinux:boost_1_84_0.tar.gz 2.1 在windows中安装boost和测试 &#xff08;1&#xff09;在windows中&#xff0c;解压这个压缩包boost_1_84_0.zip&#xff0c;路径为…

TP5手动集成GatewayWorker

重点&#xff1a;//由于是手动添加&#xff0c;因此需要注册命名空间&#xff0c;方便自动加载&#xff0c;具体代码路径以实际情况为准 \think\Loader::addNamespace([ Workerman > EXTEND_PATH . Workerman/workerman, GatewayWorker >EXTEND_PATH . Workerman/gate…

Compose | UI组件(六) | 选择框

文章目录 前言Checkbox 复选框的含义Checkbox 复选框的使用Switch 单选框的含义Switch 单选框的使用Slider 滑竿组件的含义Slider 滑竿组件的使用 总结 前言 随着移动端的技术不断更新迭代&#xff0c;Compose也运用的越来越广泛&#xff0c;很多人都开始学习Compose 本文主要…

python利用stomp连接activemq,已验证可以连接成功

安装使用到的库 输入如下命令安装stomp pip install stomp.py 发送请求 # -*-coding:utf-8-*-import stomp import time# 队列名(接收方可以根据管道名来选择接受那个队列数据) location_queue "123456" # 服务器ip,端口固定用这个 conn stomp.Connection([(127…

SQL中limit的用法

在SQL中&#xff0c;LIMIT是一个用于限制返回结果行数的关键词。它可用于在查询结果中指定返回的行数&#xff0c;从而可以用于分页查询或限制结果集大小。 LIMIT关键词有两种常用的语法格式&#xff1a; LIMIT offset, count&#xff1a;该语法用于指定返回结果的起始位置和…

【力扣经典面试题】189. 轮转数组

题目描述&#xff1a; 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 …

免费的ppt网站分享

前言 相信大学生们深有体会&#xff0c;对于学校而言&#xff0c;好像是任何活动都需要我们做ppt&#xff0c;当你拿着自己辛苦做的ppt去展示现场的时候&#xff0c;你看到别人的ppt比你的还好&#xff0c;此时心情就是毙&#xff0c;当你知道人家不过是仅仅的1个小时不到就完成…

Java编程练习之类的封装

1.把一个Student类封装起来&#xff0c;模拟一个转校生转入新学校后为其制作学生信息的过程。运行结果如下&#xff1a; package zhtestdemo; import java.util.Scanner; import java.text.DecimalFormat; public class demo { //创建类&#xff0c;类名叫demo; private Stud…

使用阿里云的IDaaS实现知行之桥EDI系统的单点登录

&#xff0c;在开始测试之前&#xff0c;需要确定用哪个信息作为“登陆用户的ID字段”。 这个字段用来在完成SSO登陆之后&#xff0c;用哪个信息将阿里云IDaaS的用户和知行之桥EDI系统的用户做对应。这里我们使用了 phonenumber 这个自定义属性。需要在阿里云做如下配置&#x…

c++阶梯之引用与内联函数

1. 引用 1.1 引用概念 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它和它引用的变量共用同一块内存空间。 语法 类型& 引用变量名(对象名) 引用实体; 示例 很显然&#xff0c;在下面这…

stm32--simulink开发之--timer的学习,硬件输入中断,触发事件

总体的参考链接是&#xff1a; https://ww2.mathworks.cn/help/ecoder/stmicroelectronicsstm32f4discovery/ref/timer.html 输入&#xff1a; 1&#xff0c;配置项&#xff1a;Enable frequency input 缩写&#xff1a;freq conunt 说明&#xff1a;“freq count — Frequency…

2024热门游泳耳机排行榜,精选四款游泳耳机品牌

在追求健康生活的今天&#xff0c;游泳成为了许多人健身的首选活动之一。而为了让游泳体验更加愉悦&#xff0c;选择一款适合的游泳耳机显得尤为重要。这不仅能够为游泳者提供动感的音乐&#xff0c;缓解游泳过程中的疲劳感&#xff0c;同时还有助于提高游泳效率。在市场上琳琅…

新手程序员的困境

我是一名使用 PHP 和 JS 进行编码的全栈开发人员。我已经工作一年了&#xff0c;在这之前我参加了一个新兵训练营。 我感觉自己遇到了瓶颈。在工作中学习 "的宽限期已经一去不复返了&#xff0c;现在我必须完成任务。但我不觉得自己是个优秀的程序员。我读过的大部分代码…

中文计算机自学指南:打开全栈开发之门 | 开源日报 No.161

PKUFlyingPig/cs-self-learning Stars: 40.3k License: MIT cs-self-learning 是一个计算机自学指南。 该项目旨在提供一本完整的计算机自学指南&#xff0c;帮助初学者通过优质资源快速成长为全能程序员。 主要功能和核心优势包括&#xff1a; 提供丰富的开源课程资源支持多…

案例三:U盘提示格式化?3种方法帮你拯救它

在U盘的使用过程中最尴尬的情况就是遇到“无法打开&#xff0c;需要进行格式化”的提示。此时&#xff0c;我们如何才能在不破坏内部数据的情况下&#xff0c;挽救这个U盘呢&#xff1f; 小编今天就和说3个方法&#xff0c;可以用来解决U盘“无法打开&#xff0c;需要进行格式化…

Python学习之路-DRF基础:Serializer序列化器

Python学习之路-DRF基础:Serializer序列化器 序列化器的作用 进行数据的校验 对数据对象进行转换 定义Serializer 定义方法 Django REST framework中的Serializer使用类来定义&#xff0c;须继承自rest_framework.serializers.Serializer。 例如&#xff0c;我们已有了一…

工作流框架Activiti

工作流框架activiti 实现入住管理&#xff0c;审批流。 实现入退住&#xff0c;涉及多个表单的提交和多个角色的审核&#xff0c;若要实现这些流程的开发&#xff0c;最好的技术选型是使用工作流技术。 工作流(Work Flow)&#xff1a;是一项将系统任务或操作抽取&#xff0c…

Windows10更新失败 错误 0x80070643、KB5034441的解决方法之二

Windows10更新失败 错误 0x80070643、KB5034441 在知乎Windows10更新失败 错误 0x80070643、KB5034441的原因分析和几个解决方法 - 知乎 参考文章进行操作&#xff0c;更详细信息自己看上面链接。 我电脑的硬盘是mbr格式&#xff0c;而且没有划分恢复分区。 Microsoft Windo…

nop-entropy可逆计算入门(1)

第1步&#xff1a;从大佬的gitee&#xff1a;https://gitee.com/canonical-entropy/nop-entropy下载源码&#xff0c;进行本地编译&#xff0c;具体编译看项目下的readme,想偷懒的可以下载我编译后的jar&#xff0c;放到自己的maven仓库 https://pan.baidu.com/s/15qANnrCh5RV…

Node.js的学习1

Node.js简介 浏览器是JavaScript的前端运行环境Node.js是JavaScript的后端运行环境Node.js中无法调用DOM和BOM等浏览器内置API 终端中的快捷键 使用向上箭头&#xff0c;可以快速定位到上一次执行的命令使用tab键&#xff0c;可以快速补全路径使用esc键&#xff0c;可以快速清…