Entry

由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。 
Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value (我们总说键值对键值对, 每一个键值对也就是一个Entry)
Map.Entry里面包含getKey()和getValue()方法

Iterator<Map.Entry<Integer, Integer>> it=map.entrySet().iterator();while(it.hasNext()) {Map.Entry<Integer,Integer> entry=it.next();int key=entry.getKey();int value=entry.getValue();System.out.println(key+" "+value);}

entrySet

entrySet是 java中 键-值 对的集合,Set里面的类型是Map.Entry,一般可以通过map.entrySet()得到。

  • entrySet实现了Set接口,里面存放的是键值对。一个K对应一个V。

用来遍历map的一种方法。

Set<Map.Entry<String, String>> entryseSet=map.entrySet();for (Map.Entry<String, String> entry:entryseSet) {System.out.println(entry.getKey()+","+entry.getValue());}

即通过getKey()得到K,getValue得到V。

keySet

还有一种是keySet, keySet是键的集合,Set里面的类型即key的类型

Set<String> set = map.keySet();for (String s:set) {System.out.println(s+","+map.get(s));}

四种遍历Map方式:

public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put("1", "value1");map.put("2", "value2");map.put("3", "value3");//第一种:普遍使用,二次取值System.out.println("通过Map.keySet遍历key和value:");for (String key : map.keySet()) {System.out.println("key= "+ key + " and value= " + map.get(key));}//第二种System.out.println("通过Map.entrySet使用iterator遍历key和value:");Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, String> entry = it.next();System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());}//第三种:推荐,尤其是容量大时System.out.println("通过Map.entrySet遍历key和value");for (Map.Entry<String, String> entry : map.entrySet()) {System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());}//第四种System.out.println("通过Map.values()遍历所有的value,但不能遍历key");for (String v : map.values()) {System.out.println("value= " + v);}}

Java中Map的 entrySet() 详解以及用法(四种遍历map的方式)相关推荐

  1. java的entryset_「entryset」Java中Map的 entrySet() 详解以及用法(四种遍历map的方式) - seo实验室...

    entryset Entry 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系. Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value (我们总说键值对键值对 ...

  2. java中Freemarker list指令详解

    java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合. 定义 <#list nameList as names> ${names} </#list ...

  3. Java中的static关键字详解

    ** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...

  4. java中的进制输出转换_Java I/O : Java中的进制详解

    作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...

  5. Java中的main()方法详解

    源文作者:leizhimin    源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...

  6. Java中的Runtime类详解

    Java中的Runtime类详解 1.类注释 /**Every Java application has a single instance of class Runtime that allows ...

  7. java中properties作用,Java中Properties的使用详解

    Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支 持的配置文件,配置文件中很多变量是经常改变的,这样做也 ...

  8. Java 中的伪共享详解及解决方案

    转载自  Java 中的伪共享详解及解决方案 1. 什么是伪共享 CPU 缓存系统中是以缓存行(cache line)为单位存储的.目前主流的 CPU Cache 的 Cache Line 大小都是 ...

  9. stringtokenizer java_基于Java中的StringTokenizer类详解(推荐)

    StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析 ...

最新文章

  1. 【如何快速的开发一个完整的iOS直播app】(美颜篇)
  2. Copy 与MutableCopy的区别
  3. 文件管理详细知识要点
  4. 【mDNS】本地DNS解析协议
  5. (转发)一个通用的C++ 消息总线框架
  6. vscode 快速调到定义处_vim技巧:在程序代码中快速跳转,在文件内跳转到变量定义处...
  7. Android系统(244)---Zygote进程的启动流程
  8. PowerShell2.0之与COM对象交互(五)与脚本宿主代码协同工作
  9. 一些不错的个人博客和资源网站
  10. nyoj1110 一个简单数学题
  11. [UPC] 2021秋组队17
  12. IOS学习 IOS8的虚化效果
  13. Frequent values POJ - 3368(线段树)
  14. java 三维数组 魔方_三维数组的横向/纵向输出
  15. 5700:还钱问题(贪心+思维)
  16. 校企联合学院分析ERP在家具行业中的应用
  17. VB界面一点美化技巧
  18. 神经网络:训练模型+转化为k210上跑的kmodel
  19. python子域名扫描脚本
  20. python一些方法

热门文章

  1. 腾讯毛华:智能交互,AI助力下的新生态
  2. 怎么使xp计算机不休眠,怎么让电脑不休眠,教您如何操作
  3. 实验四 Shell编程
  4. Java8 和 Java9 的主要新特性
  5. MySQL数据库学总结很干很有用
  6. count() 方法
  7. 学生速看!免费领取一台阿里云服务器申请全流程
  8. CSS制作的导航菜单向上箭头
  9. 用Maya、Zbrush和Photoshop的经典组合制作逼真砖墙纹理
  10. 用p5.js制作烟花特效