查看Map自带API

map遍历方法:

  1. public static void main(String[] args) {
  2. Map<Integer,String> map = new HashMap<Integer,String>();
  3.  
  4. map.put(10,"first");
  5. map.put(20,"second");
  6. map.put(30,"third");
  7.  
  8. /**
  9. * 通过map.keySet遍历key,通过map.get(key)取value
  10. *
  11. * 特点:适用于仅获取key的情况,同时也可通过key获取value,
  12. * 不过不推荐使用该方法获取value(原因:通过key值去计算对应的hash,然后再通过hash获取对应的结果值,会导致效率较低)
  13. */
  14. for (Integer key:map.keySet()
  15. ) {
  16. System.out.println("key is " + key +" and value is " + map.get(key));
  17. }
  18.  
  19. /**
  20. * 通过map.entrySet()遍历该map,通过entry.getKey()获取key entry.getValue()获取value
  21. *
  22. * 特点:同时需要key和value时推荐使用
  23. * hashMap内部的存储结构就是基于Entry的数组,在用这种方式进行遍历时,只需要遍历一次即可
  24. */
  25. for (Map.Entry<Integer,String> entry:map.entrySet()
  26. ) {
  27. System.out.println("key is " + entry.getKey() + " and value is " + entry.getValue());
  28. }
  29.  
  30. /**
  31. * 通过map.entrySet()使用iterator遍历,it.getKey()获取key it.getValue()获取value
  32. *
  33. *特点:效率同map.entrySet(),增加删除元素的功能,可以使用Iterator的remove方法删除元素
  34. */
  35. Iterator<Map.Entry<Integer,String>> iterator = map.entrySet().iterator();
  36. while(iterator.hasNext()){
  37. Map.Entry<Integer,String> it = iterator.next();
  38. //删除元素
  39. if("second".equals(it.getValue())){
  40. iterator.remove();
  41. }
  42. System.out.println("key is " + it.getKey() + " and value is "+ it.getValue());
  43. }
  44.  
  45. /**
  46. * 通过map.values()获取所有的value遍历,适用于只获取value的情景
  47. *
  48. * 特点:适用于仅取value的情况
  49. */
  50. for (String value:map.values()
  51. ) {
  52. System.out.println("value is "+value);
  53. }
  54.  
  55. /**
  56. * java8 Lambda表达式遍历
  57. */
  58. map.forEach((key, value) -> {
  59. System.out.println("Lambda-> key is " + key + "and value is" + value);
  60. });
  61.  
  62. }

Map遍历的几种方法的更多相关文章

  1. map遍历的四种方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  2. Map 遍历的几种方法

    复习map的过程中想到的,做个简单的记录 public class HashMapTest { public static void main(String args[]) { Map<Inte ...

  3. (转载)Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  4. map遍历的四种方式

    原文 http://blog.csdn.net/dayanxuqun/article/details/26348277 以下是map遍历的四种方式: // 一.推荐只用value的时候用,都懂的... ...

  5. JavaScript遍历对象4种方法和遍历数组的3种方式 代码

    //遍历对象 4种方法 //Object.keys(obj).forEach() console.log("keys...遍历</br>") var obj1 = { ...

  6. Map集合遍历的2种方法

    Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collect ...

  7. 遍历Map key-value的两种方法

    以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据,基本方式如下: Map<String,String> testData ...

  8. map集合遍历的五种方法

    package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...

  9. Map<String, String> 遍历的四种方法

    Map<String, String> map = new HashMap<String, String>(); map.put("key1", " ...

随机推荐

  1. SharePoint2013 以其他用户登录和修改AD域用户密码 功能

    sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后: 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用Cust ...

  2. 【ElasticSearch】ES5新特性-keyword-text类型-查询区别

    ES5新特性-keyword-text类型-查询区别 elasticsearch-head Elasticsearch-sql client junneyang (JunneYang) es keyw ...

  3. 多维数组分解----SVD在推荐系统中的应用-

    http://www.janscon.com/multiarray/rs_used_svd.html [声明]本文主要参考自论文<A SINGULAR VALUE DECOMPOSITION A ...

  4. C#获取程序启动目录

    //WCF service: string servicePath = System.Web.Hosting.HostingEnvironment.MapPath("~"); // ...

  5. 让你的Python代码更加pythonic

    http://wuzhiwei.net/be_pythonic/ 何为pythonic? pythonic如果翻译成中文的话就是很python.很+名词结构的用法在中国不少,比如:很娘,很国足,很CC ...

  6. PHP构造函数的重载

    由于PHP是弱类型语言,因此函数的输入参数类型无法确定(可以使用类型暗示,但是类型暗示无法用在诸如整型,字符串之类的标量类型上),并且对于一个函数,比如只定义了3个输入参数,PHP却运行调用的时候输入 ...

  7. php 传变量到 js 文件

    php 传变量到 js 文件 // 传变量到js $oncj="taocanonc(".$i.",".$alli.",".$row1[mon ...

  8. PHP开发框架比较

    PHP开发框架比较 Laravel 是一个简单优雅的 PHP WEB 开发框架,将你从意大利面条式的代码中解放出来.通过简单.优雅.表达式语法开发出很棒的 WEB应用!但是通过使用我们发现Larave ...

  9. FancyBox-经典的jQuery Lightbox插件

    在线演示 本地下载 FancyBox 是一款非常优秀的弹窗插件,能够为图片.HTML内容和其它任务的多媒体内容提供优雅的弹出缩放效果.作为是最流行的 Lightbox 插件之一,可以通过 fitToV ...

  10. .Net Framework System.Collections 集合类

    本文内容 集合类 性能 最近复习了一下集合,C# 关于集合的类蛮多,但我除了 List 那几个经常用之外,其他的用得还真不多(只在小范围使用),但其实,每个集合类都各有自己适用的场景,功能也很强大.尤 ...