Map六种遍历方式

news2024/12/28 5:34:43

下面是三组(6种),Map 遍历方式的核心代码。

遍历方式有使用到增强for和迭代器。最下面有张图片,对做题有参考意义。

参考代码: 

        Map map = new HashMap();
        map.put("小猫","cat");
        map.put("小狗","dog");
        map.put("小狗",null);
        map.put("小羊","sheep");
        map.put("小猪","pig");
        map.put(null,"pig");

        //第一组:先取出 所有的Key,通过Key取出对应的Value
        Set keySet =map.keySet();
        //(1)增强for
        System.out.println("---第一种方式---");
        for (Object key : keySet){
            System.out.println(key+"-"+map.get(key));
        }
        //(2)迭代器
        System.out.println("---第二种方式---");
        Iterator iterator = keySet.iterator();
        while(iterator.hasNext()){
            Object key = iterator.next();
            System.out.println(key+"-"+map.get(key));
        }
        //第二组:把所有的values取出
        Collection values = map.values();
        //使用所有的Collections使用的的遍历方法
        //(1)增强for
        System.out.println("---取出所有的value使用增强for---");
        for (Object value :values){
            System.out.println(value);
        }
        //(2)迭代器
        System.out.println("---取出所有的value 迭代器---");
        Iterator iterator1 = values.iterator();
        while(iterator1.hasNext()){
            Object value = iterator1.next();
            System.out.println(value);
        }
        //第三组:通过EntrySet 来获取 k-v
        Set entrySet = map.entrySet();//EntrySet<Map.Entry<K,V>>
        //(1)增强 for
        System.out.println("---使用EntrySet的for增强---");
        for (Object entry :entrySet){
            Map.Entry m =(Map.Entry)entry;
            System.out.println(m.getKey()+"-"+m.getValue());
        }
        //(2)迭代器
        System.out.println("---使用EntrySet的迭代器---");
        Iterator iterator3 = entrySet.iterator();
        while(iterator3.hasNext()){
            Object entry = iterator3.next();
            Map.Entry m = (Map.Entry)entry;
            System.out.println(m.getKey()+"-"+m.getValue());
        }

测试结果:

---第一种方式---
小羊-sheep
小猪-pig
null-pig
小狗-null
小猫-cat
---第二种方式---
小羊-sheep
小猪-pig
null-pig
小狗-null
小猫-cat
---取出所有的value使用增强for---
sheep
pig
pig
null
cat
---取出所有的value 迭代器---
sheep
pig
pig
null
cat
---使用EntrySet的for增强---
小羊-sheep
小猪-pig
null-pig
小狗-null
小猫-cat
---使用EntrySet的迭代器---
小羊-sheep
小猪-pig
null-pig
小狗-null
小猫-cat
 

所写笔记,如有错误,还请见谅,后期发现,及时更改。 

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

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

相关文章

TypeScript-函数类型

函数类型 指给函数添加类型注解&#xff0c;本质上就是给函数的参数和返回值添加类型约束 function add(a: number,b: number) :number {return a b } let res: number res add(2 3) // 函数参数注解类型之后&#xff0c;不但限制了参数的类型还限制了参数为必填 优点&…

机器学习补充学习

1、Adaboost算法 Adaboost算法是一种集成学习方法&#xff0c;通过结合多个弱学习器来构建一个强大的预测模型。核心思想&#xff1a;如果一个简单的分类器在训练数据上犯错误&#xff0c;那么它在测试数据上也可能犯错误。 Adaboost通过迭代地训练一系列的分类器&#xff0c…

C语言 | Leetcode C语言题解之第101题对称二叉树

题目&#xff1a; 题解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool isSymmetric(struct TreeNode* root) {if (root NULL) return true;//如果根为空直接…

基于YoloV4汽车多目标跟踪计数

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着城市交通的快速发展&#xff0c;交通流量和车辆密度的不断增加&#xff0c;对交通管理和控…

基于FPGA的VGA协议实现----条纹-文字-图片

基于FPGA的VGA协议实现----条纹-文字-图片 引言&#xff1a; ​ 随着数字电子技术的飞速发展&#xff0c;现场可编程门阵列&#xff08;FPGA&#xff09;因其高度的灵活性和并行处理能力&#xff0c;在数字系统设计中扮演着越来越重要的角色。FPGA能够实现复杂的数字逻辑&#…

Qt官方示例---embedded

digiflip flickable flightinfo lightmaps raycasting styleexample

pycharm 关闭项目卡死

PyCharm2023.3.4 关闭一直卡在 closing projects 解决办法&#xff1a; 打开PyCharm&#xff0c; 选择 Help -> Find Action -> 输入 Registry -> 禁用ide.await.scope.completion

leetCode-hot100-数组专题之双指针

数组双指针专题 1.同向双指针1.1例题26.删除有序数组中的重复项27.移除元素80.删除有序数组中的重复项 Ⅱ 2.相向双指针2.1例题11.盛最多水的容器42.接雨水581.最短无序连续子数组 双指针在算法题中很常见&#xff0c;下面总结双指针在数组中的一些应用&#xff0c;主要分为两类…

解决“Failed to restart udev.service“

报错信息 Failed to restart udev.service: Unit systemd-udevd.service is not loaded properly: Exec format error. See system logs and ‘systemctl status udev.service’ for details. invoke-rc.d: initscript udev, action “restart” failed. ● systemd-udevd.ser…

Day25:Leetcode:669. 修剪二叉搜索树 + 108.将有序数组转换为二叉搜索树 + 538.把二叉搜索树转换为累加树

LeetCode&#xff1a;669. 修剪二叉搜索树 问题描述 解决方案&#xff1a; 1.思路 2.代码实现 class Solution {public TreeNode trimBST(TreeNode root, int low, int high) {if (root null) {return null;}if (root.val < low) {return trimBST(root.right, low, hi…

跳房子游戏-第13届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第71讲。 跳房子游戏&#…

一.ffmpeg 将内存中的H264跟PCM 数据流合成多媒体文件

在有一些嵌入式平台中&#xff0c;H264数据流一般来自芯片内部的硬编码器&#xff0c; AAC音频数据则是通过采集PCM进行软编码&#xff0c;但是如何对它实时进行封装多媒体文件 &#xff0c;参考ffmpeg example&#xff0c;花了一些时间终于实现了该功能。 流程图如下&#xf…

什么是经典蓝牙模块?

什么是经典蓝牙模块&#xff1f;   前面我们已经就蓝牙模块的概念做了了解&#xff0c;随着时间的推移&#xff0c;产品越来越智能&#xff0c;需要的蓝牙模块也就越来越广泛&#xff0c;本篇文章我们就一起了解下什么是经典蓝牙模块。   经典蓝牙模块(BT)泛指支持蓝牙协议…

ClickHouse配置与使用

静态IP配置 # 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33# 修改文件内容 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic IPADDR192.168.18.128 NETMASK255.255.255.0 GATEWAY192.168.18.2 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INIT…

AI办公自动化-kimi批量在多个Excel工作表中绘制柱状图

工作任务和目标&#xff1a;批量在多个Excel工作表中生成一个柱状图 第一步&#xff0c;在kimi中输入如下提示词&#xff1a; 你是一个Python编程专家&#xff0c;完成下面任务的Python脚本&#xff1a; 打开文件夹&#xff1a;F:\aivideo 读取里面所有的xlsx文件&#xff1…

【云原生之】K8s 管理工具 kubectl 详解(二)

一、项目的生命周期 创建–>发布–>更新–>回滚–>删除 1.1、创建kubectl create命令 创建并运行一个或多个容器镜像。创建一个deployment 或job 来管理容器。 kubectl create --help kubectl -n 命名空间 create deployment 资源名称 --image镜像 --port容器的端…

useTransition:开启React并发模式

写在前面&#xff1a;并发 并发模式&#xff08;Concurrent Mode&#xff09;1的一个关键特性是渲染可中断。 React 18 之前&#xff0c;更新内容渲染的方式是通过一个单一的且不可中断的同步事务进行处理。同步渲染意味着&#xff0c;一旦开始渲染就无法中断&#xff0c;直到…

将某一个 DIV 块全屏展示

文章目录 需求分析 需求 上节我们研究了如何将页面中的指定 div 下载为图片&#xff1a;跳转查看 本节演技一下如何将 DIV 全屏展示 全屏展示某一个 DIV 分析 其实就是模拟键盘动作 F11 var element document.getElementById(pic) var requestMethod element.requestFullS…

Alinx xc7z020 原理图

时钟引脚 CLK&#xff1a;U18 复位 RST&#xff1a;N15 扩展接口 J10 J11 PL LED