首页 > 编程语言 >java中Map遍历的四种方式

java中Map遍历的四种方式

时间:2024-12-27 22:45:17浏览次数:5  
标签:Map 遍历 java String map ------------- key

java中Map遍历的四种方式| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission |

| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------|
| 14475730| java中Map遍历的四种方式| 2021-03-03T17:26:00| | BlogPost|

在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历。

方法一:在for循环中使用entries实现Map的遍历:

复制代码
/**
* 最常见也是大多数情况下用的最多的,一般在键值对都需要使用
 */
Map <String,String>map = new HashMap<String,String>();
map.put("熊大", "棕色");
map.put("熊二", "黄色");
for(Map.Entry<String, String> entry : map.entrySet()){
    String mapKey = entry.getKey();
    String mapValue = entry.getValue();
    System.out.println(mapKey+":"+mapValue);
}
复制代码

方法二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好;

复制代码
Map <String,String>map = new HashMap<String,String>();
map.put("熊大", "棕色");
map.put("熊二", "黄色");
//key
for(String key : map.keySet()){
    System.out.println(key);
}
//value
for(String value : map.values()){
    System.out.println(value);
}
复制代码

方法三:通过Iterator遍历;

复制代码
Iterator<Entry<String, String>> entries = map.entrySet().iterator();
while(entries.hasNext()){
    Entry<String, String> entry = entries.next();
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key+":"+value);
}
复制代码

方法四:通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作;

for(String key : map.keySet()){
    String value = map.get(key);
    System.out.println(key+":"+value);
}

 

| 648658| | 2024-04-29T20:50:00| false| | 2021-03-03T17:25:39.58| true| 在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历。 方法一:在for循环中使用entries实现Map的遍历: /** * 最常见也是大多数情况下用的最多的,一般在键值对都| Anonymous|

标签:Map,遍历,java,String,map,-------------,key
From: https://www.cnblogs.com/ralphlauren/p/18621233

相关文章

  • JAVA变量
    JAVA变量|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|-------------|-------------......
  • Java从网络读取图片并保存至本地
    Java从网络读取图片并保存至本地|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|--------......
  • java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一
    java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermissi......
  • java获取当前年份、月份和日期
    java获取当前年份、月份和日期|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|----------......
  • Java面试突击手册,一周刷完这300道面试题,你也可以当架构师!
      前言面对今年的大环境而言,跳槽成功的难度比往年高了很多,很明显的感受就是:对于今年的java开发朋友跳槽面试,无论一面还是二面,都开始考验一个Java程序员的技术功底和基础。对源码解读和核心原理理解也是成了加分项,特别是对Java的一些核心基础知识点掌握的不够或者没有体系......
  • Java 中 Exception 和 Error 有什么区别?
    在Java的世界里,Exception和Error就像是两个性格迥异的双胞胎兄弟,虽然他们都代表着“出了问题”,但处理方式和对程序的影响可大不一样哦!Exception(异常)Exception就像是你在做作业时遇到的一道难题。虽然它让你卡壳了,但只要你找到正确的方法或者找人帮忙(比如查资料、问老师),你还是......
  • 想在 Java 八股文面试中脱颖而出?这1000 道互联网大厂 工程师面试题必不可少
     国内的互联网面试,恐怕是现存的、最接近科举考试的制度。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioralquestion,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?简单来说,互联网IT行业的求......
  • 《面试八股文》之2024年GitHub中文社区Java 领域又一份牛逼笔记
        今天讲讲跳槽。新年即将开启,一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。跳槽是为了寻求更好的发展,但在跳槽前我们也不能确定下家就是更好的归宿,这就更加需要我们审慎地去对待,不能盲目跳槽。其次,我们离职和跳槽,其中的原因很大......
  • Java方法链调用以及在JVM和安卓DalvikVM下的区别
    目录方法链字节码与Smali下的编译结果总结方法链方法链(MethodChaining),也被称为命名参数法,是在面向对象的编程语言中调用的调用多个方法的通用语法。每一个方法返回一个对象,在一个单一的声明里,方法链省去了中间变量的需要。当需要构建一个对象或者设置其初始属性时,往往通过......
  • 基于java的SpringBoot/SSM+Vue+uniapp的员工日志管理信息系统的详细设计和实现(源码+l
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......