当前位置: 首页 > backend >正文

第十三节:第三部分:集合框架:Map集合的遍历方式

Map集合的遍历方式

Map集合的遍历方式

Map集合的遍历方式一:键找值

Map集合的遍历方式一:键找值
Map集合的遍历方式一:键找值

Map集合的遍历方式二:键值对

Map集合的遍历方式二:键值对

Map集合的遍历方式三:Lambda

Map集合的遍历方式三:Lambda

代码:

代码一:掌握Map集合的遍历方式1:键找值

package com.itheima.day25_MapTraverse;import java.util.HashMap;
import java.util.Map;
import java.util.Set;//目标:掌握Map集合的遍历方式1:键找值
public class MapTest1 {public static void main(String[] args) {// 准备一个Map集合。Map<String,Double> map =new HashMap<>();map.put("蜘蛛精",162.5);map.put("蜘蛛精",169.0);map.put("紫霞",165.8);map.put("至尊宝",169.5);map.put("牛魔王",183.6);System.out.println(map);//{蜘蛛精=169.0, 牛魔王=183.6, 至尊宝=169.5, 紫霞=165.8}//1、获取Map集合的全部键Set<String> keys = map.keySet();System.out.println(keys);//[蜘蛛精, 牛魔王, 至尊宝, 紫霞]//2、遍历全部的键,根据键获取其对应的值for (String key : keys) {//根据键获取对应的值Double value = map.get(key);System.out.println(key + "====>" + value);}}
}

结果1

代码二:掌握Map集合的第二种遍历方式:键值对

package com.itheima.day25_MapTraverse;import java.util.HashMap;
import java.util.Map;
import java.util.Set;
//目标:掌握Map集合的第二种遍历方式:键值对。
public class MapTest2 {public static void main(String[] args) {// 准备一个Map集合。Map<String,Double> map =new HashMap<>();map.put("蜘蛛精",162.5);map.put("蜘蛛精",169.0);map.put("紫霞",165.8);map.put("至尊宝",169.5);map.put("牛魔王",183.6);System.out.println(map);//{蜘蛛精=169.0, 牛魔王=183.6, 至尊宝=169.5, 紫霞=165.8}// map ={蜘蛛精=169.8,牛魔王=183.6,至尊宝=169.5,紫霞=165.8}// entries =[(蜘蛛精=169.8),(牛魔王=183.6),(至尊宝=169.5),(紫霞=165.8)]// 1、调用Map集合提供entrySet方法,把Map集合转换成键值对类型的Set集合Set<Map.Entry<String, Double>> entries = map.entrySet();for (Map.Entry<String, Double> entry : entries) {String key = entry.getKey();Double value = entry.getValue();System.out.println(key+"====>"+value);}}
}

结果2

代码三:掌握Map集合的第三种遍历方式:Lambda

package com.itheima.day25_MapTraverse;import java.util.HashMap;
import java.util.Map;public class MapTest3 {public static void main(String[] args) {// 准备一个Map集合。Map<String,Double> map =new HashMap<>();map.put("蜘蛛精",162.5);map.put("蜘蛛精",169.0);map.put("紫霞",165.8);map.put("至尊宝",169.5);map.put("牛魔王",183.6);System.out.println(map);//{蜘蛛精=169.0, 牛魔王=183.6, 至尊宝=169.5, 紫霞=165.8}// map ={蜘蛛精=169.8,牛魔王=183.6,至尊宝=169.5,紫霞=165.8}map.forEach((k,v)->{System.out.println(k+"====>"+v);});}
}

结果3

代码四:完成Map集合的案例:统计投票人数

案例分析

案例分析

代码:

package com.itheima.day25_MapTraverse;import java.util.*;//目标:完成Map集合的案例:统计投票人数。
public class MapDemo {public static void main(String[] args) {// 1、把80个学生选择的景点数据拿到程序中来。List<String> data = new ArrayList<>();String[] selects = {"A","B","C","D"};Random random = new Random();for (int i = 0; i < 80; i++) {//每次模拟一个学生选择一个景点,存入到集合中去int index = random.nextInt(4);//0,1,2,3data.add(selects[index]);}System.out.println(data);// 2、开始统计每个景点的投票人数//准备一个Map集合用于统计最终的结果Map<String,Integer> result = new HashMap<>();//3、开始遍历80个景点数据for (String s : data) {//问问Map集合中是否存在该景点if (result.containsKey(s)) {// 说明这个景点之前统计过。其值+1.存入到Map集合中去result.put(s,result.get(s)+1);}else {// 说明这个景点是第一次统计,存入"景点=1result.put(s,1);}}System.out.println(result);}
}

结果4

http://www.xdnf.cn/news/12055.html

相关文章:

  • 数码相片冲印规格参考表
  • Docker load 后镜像名称为空问题的解决方案
  • 国芯思辰ADE芯片成功替代ADS1296R,除颤仪核心部件实现自主可控
  • git删除本地分支和远程分支
  • 非对称加密
  • MuLogin浏览器如何使用Loongproxy?
  • 【AI系列】DPO 与 PPO 的比较与分析
  • 民锋视角下的资金流效率与账户行为建模
  • 解决fastadmin、uniapp打包上线H5项目路由冲突问题
  • Netty内存池之内存分配算法
  • 字符串接龙
  • Java 大视界 — Java 大数据在智能安防视频监控中的异常事件快速响应与处理机制
  • 未来的AI 终端
  • 系统性学习C语言-第十四讲-深入理解指针(4)
  • 《仿盒马》app开发技术分享-- 商品搜索页(顶部搜索bar热门搜索)(端云一体)
  • 中级统计师-经济学基础知识-第一章 经济学基础
  • android与Qt类比
  • 重要通知:6月申报纳税期限延至6月16日(附2025年办税日历 图文版)
  • 树莓派超全系列教程文档--(53)如何使用 SCP 共享文件
  • 嵌入式开发之STM32学习笔记day18
  • 手写Promise实例方法finally
  • 肺癌靶向治疗耐药困境下的新探索
  • LLM应用开发(九)- 幻觉及如何缓解
  • Authentication failed(切换了新的远程仓库tld)
  • 区块链技术发展现状与应用前景分析
  • Rocket客户端消息确认机制
  • JAVA:String类详解
  • 华为云Flexus+DeepSeek征文|Flexus云服务器单机部署+CCE容器高可用部署快速搭建生产级的生成式AI应用
  • (LeetCode 每日一题)3403. 从盒子中找出字典序最大的字符串 I (贪心+枚举)
  • 12.3Swing控件1