首页 > 其他分享 >map的两种遍历方式是什么

map的两种遍历方式是什么

时间:2023-04-06 14:55:16浏览次数:31  
标签:map 遍历 Map 子类 两种 key Entry

学了Map后,我们都知道Map有两种遍历方式,keySet遍历个entrySet遍历,

这里简单介绍一下这两种遍历方式。

首先对于一个Map来说,右key列和value列组成,想遍历这个Map,有两种选择

第一种keyset的想法是先得到其key列,

使用Map的get(key)方法来获取其对应的值,如下图:

image.png

对应的代码是:

image.png

第二种思想是这样的,想办法得到Key和Value的映射关系,再从这个关系中得到对应的key和value值,也就是第二种遍历方式,entrySet

如图:
image.png

对应的代码是:
image.png

以上就是Map的两种遍历方式,希望对大家有帮助

这里面顺便介绍下Map.Entry的结构
image.png

Map.Entry Entry是一个Map的内部接口,等着Map的子类对象来实现它,

子类对象怎么实现呢?使用内部类的形式,这个内部类通过实现Map.Entry的接口

实现其getKey和getValue方法,完成自己的遍历方法,最后map的子类对象再通过

EntrySet方法将这个内部类对象返回,所有有了
image.png

标签:map,遍历,Map,子类,两种,key,Entry
From: https://www.cnblogs.com/qian-fen/p/17292768.html

相关文章

  • kubernetes ConfigMap只挂载一个文件
    1.概述挂载一整个目录的方式详见<<kubernetesConfigMap的使用>>这里特别说明如何挂载目录和挂载一个文件详见官方文档:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-pod-configmap/2.环境2.1.配置文件目录/var/app/mage-go-device/conf/......
  • Map自定义key,然后把value的集合List进行指定字段排序
    packagecom.zdft.purchase;importcom.google.common.collect.Lists;importjava.util.*;importjava.util.stream.Collectors;publicclassStudentMethod{//需求:Map自定义key,然后把value的集合List进行指定字段排序;例如:多次考试,取最高分的集合展示publics......
  • 探测工具nmap简介及使用说明
    1.前言:当我们在构建环境或排查问题时,常常是先确定环境是否正常,首要确定的就是当前ip是否可用,或是是否在使用,将要使用的端口是否已配置等进行,除了我们常用的ping或是telnet工具外,还有别一种工具nmap,可以说是扫描神器。接下来就让我简单的给大家介绍一下nmap吧。2.nmap简介:本人使用......
  • 深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、
    A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解1.基础指标简介机器学习的评价指标有精度、精确率、召回率、P-R曲线、F1值、TPR、FPR、ROC、AUC等指标,还有在生物领域常用的敏感性、特异性等指标。在分类任务中,各指标的计算......
  • map的两种遍历方式是什么
    学了Map后,我们都知道Map有两种遍历方式,keySet遍历个entrySet遍历,这里简单介绍一下这两种遍历方式。首先对于一个Map来说,右key列和value列组成,想遍历这个Map,有两种选择第一种keyset的想法是先得到其key列,使用Map的get(key)方法来获取其对应的值,如下图:对应的代码是:第二种思想是这样的......
  • socks5的两种验证方法
    Socks5协议支持两种类型的验证方法:无验证(NoAuthentication)和用户名密码验证(Username/PasswordAuthentication)。1、无验证(NoAuthentication):在此方法中,Socks5客户端与Socks5服务器建立连接后,客户端发送一个不带验证信息的请求,直接进行连接。这种方式比较简单,但是缺乏安全性,因为任......
  • ES6 => map、filter方法的区别
    letdataArr=[{name:450200000,code:1},{name:450300000,code:2}....] map:会返回执行map方法的数组(dataArr),的所有项(条件不成立也会返回undefined),可以只返回项中的某一参数 filter:会返回执行filter方法的数组(dataArr),条件成立的项,会返回整个遍历的项(不能只返回项中的某一......
  • 遍历容器
    利用迭代器 for(autoit=a.begin();a!=a.end();it++){cout<<*it<<endl;} for_eachvoidfunc(doublex){cout<<x<<endl;}vector<double>a;for_each(a.begin(),a.end(),func)新用法unordered_map<char,int>s;for(autoit:......
  • concurrentHashMap为什么是线程安全的?
    ConcurrentHashMap是线程安全的。它可以被多个线程同时使用而不需要额外的同步措施(比如使用synchronized)来保证线程安全。这是因为ConcurrentHashMap内部使用了一些非常高效的机制来保证线程安全,包括:分段锁:ConcurrentHashMap将数据分成多个段,每个段都有自己的锁。这样,在多线程......
  • Cesium 案例(三) Web Map Service(WMS) Washington DC 2017
    WMSCesium.Ion.defaultAccessToken="token";   constviewer=newCesium.Viewer("cesiumContainer");   //AddaWMSimagerylayer   constlayer=newCesium.ImageryLayer(    newCesium.WebMapServiceImageryProvider({ ......