假设有数组    
        HashMap<Integer, String> h=new HashMap<Integer,String>();
        h.put(111, "111-");
        h.put(222, "222-");

在操作之前明确几个方法的调用位置
    1.keyset方法Map接口
    2.get()方法,来自Map
    3.Set<Map.Entry<K,V>>  entrySet()  来自Map
    4.Set<K>   keySet()  来自Map
    5.iterator()  来自 Collection
    6.getValue()和getKye()   来自  Map内部类entry

//1.使用增强for 和 keySet()方法

//先使用Map接口中的keySet()方法  获取返回值set<k>对象,或者叫数组
    Set<Integer> s=h.keySet();
    //此时获得key值
    //遍历使用增强for
    for(Integer i:s)
    {        
        //i为key
        //使用Map接口中的get(key) 方法,返回值为对应的value
        system.out.println(h.get(i));
    }

//2.使用增强for和Iterator,keyset遍历
        
    //先使用Map接口中的keySet()方法  获取返回值set<k>对象,或者叫数组
    Set<Integer> s=h.keySet();
    //使用Iterator接口中的iterator()方法,返回值为Iterator<E>对象,set继承了Collection
    //所以拥有iterator()方法,可以直接使用
    Iterator i=s.iterator();
    //使用增强for遍历
    while(i.hasnext())
    {
        system.out.println(s.get(i.next()));
    }

//3.使用entrySet()和增强for
        Set<Map.Entry<Integer, String>> s3=h.entrySet();
        for(Map.Entry<Integer, String> m:s3)
        {
            System.out.println(m.getValue()+m.getKey());
        }

//4.使用entrySet()和Iterator
        Set<Map.Entry<Integer, String>> s4=h.entrySet();
        Iterator<Map.Entry<Integer, String>> i2=s4.iterator();
        while(i2.hasNext())
        {
            Map.Entry<Integer, String> a=i2.next();
            System.out.println(a.getValue()+a.getKey());
        }

//5.只能遍历到内容的方法
        //Collection<String> c2=new ArrayList<String>();
        Collection<String> c=h.values();
        //ArrayList<String> a=(ArrayList<String>)c;
        
        for(String s:c)
        {
            System.out.println(s);
        }*/

Map,HashMap五种遍历方法的更多相关文章

  1. Map的五种遍历方法

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

  2. Java中Map的三种遍历方法

    Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历.   告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...

  3. map的三种遍历方法!

    map的三种遍历方法!   集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ /* * To change this template, choose Tools | Te ...

  4. Map的6种遍历方法

    声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 探讨有几种遍历Map的方法其实意义并不大,网上的文章一般讲4种或5种的居多,重要的是知道遍历的内涵,从遍历 ...

  5. Map获取键值,Map的几种遍历方法

    Map 类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个 getKey()方法和一个getValue()方法,Map ...

  6. Map获取键值,Map的几种遍历方法 (转载)

    Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,Map.E ...

  7. hashmap两种遍历方法

    第一种:使用entryset来进行遍历 Map map=new HashMap(); Iterator iter=map.entrySet().iterator(); while(iter.hasNe ...

  8. Map 的两种遍历方法详细说明

    //方法一 Set<String> set = map.keySet(); for (String s:set) { System.out.println(s+","+ ...

  9. Map的四种遍历方法

    1.取值遍历 for(String key:map.keySet()){ System.out.println("key="+key+"and value=" ...

随机推荐

  1. Radware:上周五美国大规模DDoS攻击是如何发生的

    10月21日上午,Dyn遭受到拒绝服务(DoS)攻击,造成了托管DNS网络的中断.成千上万的网站因此变得不可访问,其中包括Amazon EC2.当天晚些时候,当攻击者发起第二轮针对Dyn DNS系统的 ...

  2. 虚拟化学习笔记-KVM虚拟化跨机迁移原理

    参考:https://zhuanlan.zhihu.com/p/27055555 在线迁移过程划分为三个阶段:准备阶段.迁移阶段和切换阶段.迁移环境为虚拟化底层KVM+Qemu.虚拟化管理Libvir ...

  3. linux系统单网卡绑定多个IP地址

    说明: 单网卡绑定两个IP地址,电信和联通,目的:是为了当电信出故障联通正常使用. 系 统 IP地址 子网掩码 网关 CentOS 6.3_64bit eth0:116.18.176.19 255.2 ...

  4. 关于RMQ问题的四种解法

    什么是RMQ问题:     RMQ (Range Minimum/Maximum Query):对于长度为n的数组A,回答若干询问RMQ(A,i,j)(i,j<=n-1),返回数组A中下标在i, ...

  5. .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量

    随着团队越来越多,越来越大,需求更迭越来越快,每天提交的代码变更由原先的2位数,暴涨到3位数,每天几百次代码Check In,补丁提交,大量的代码审查消耗了大量的资源投入. 如何确保提交代码的质量和提 ...

  6. 面试官:你说你懂动态代理,那你知道为什么JDK中的代理类都要继承Proxy吗?

    之前我已经写过了关于动态代理的两篇文章,本来以为这块应该没啥问题,没想到今天又被难住了- 太难了!!! 之前文章的链接: 动态代理学习(一)自己动手模拟JDK动态代理. 动态代理学习(二)JDK动态代 ...

  7. Mahout聚类和kafaka相关知识

    1.说几种距离测度Mahout: 欧式距离测度:平方欧式距离测度:曼哈顿距离测度:余弦距离测度:加权距离测度 2.K-means算法参数:

  8. CF#132 C. Logo Turtle DP

    C. Logo Turtle 题意 有一个海龟在一个x轴的0点,给出一个由'F','T'组成的字符序列. 海龟要按照这个序列进行行动,如果第i个字符为'F',表示沿当前方向走,'T'表示转身. 现在你 ...

  9. python语法学习第十天--类与对象相关的BIF、魔法方法

    一些相关的BIF: issubclass(class,classInfo)#判断是否为子类,classInfo可以为多个类的元组,其中一个是,返回true,一个类也被认为是自己的子类,object是所 ...

  10. vscode调试webpack的启动和打包部署过程,nodejs调试

    launch.json ``` {   // 使用 IntelliSense 了解相关属性.    // 悬停以查看现有属性的描述.   // 欲了解更多信息,请访问: https://go.micr ...