假设有数组    
        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. ACM学习心得

    今天打比赛,调整好了心态,不管rank榜,所以做的比上次好,今天A了四个题,都很水,memset的清零时间,需要好长,因为memset 跟cin超时了,它的数据量1e6,所以超时了还是多用scanf, ...

  2. HDU - 1253 胜利大逃亡(搜索)

    Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.  魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在( ...

  3. C. Journey bfs 拓扑排序+dp

    C. Journey 补今天早训 这个是一个dp,开始我以为是一个图论,然后就写了一个dij和网络流,然后mle了,不过我觉得如果空间开的足够的,应该也是可以过的. 然后看了题解说是一个dp,这个dp ...

  4. Python3 迭代器与生成器 - 学习笔记

    可迭代对象(Iterable) 迭代器(Iterator) 定义 迭代器和可迭代对象的区别 创建一个迭代器 创建一个迭代器类 使用内置iter()函数 StopIteration异常 生成器(gene ...

  5. SpringBoot系列(十四)集成邮件发送服务及邮件发送的几种方式

    往期推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)web静 ...

  6. 如何发挥Visual Studio 2019强大的编辑功能轻松编辑Keil项目

    本文地址:https://www.cnblogs.com/jqdy/p/12565161.html 习惯了VS的强大编辑功能,对Keil 5越来越深恶痛绝.查阅网络文章后按图索骥初步实现了VS编辑Ke ...

  7. SSM家庭财务管理系统

    包含[项目源码+论文]:http://mp.toutiao.com/preview_article/?pgc_id=6805534721838154254

  8. JAVA知识总结(二):封装

    时隔近一年,我突然想起来这个文章还没有发完,所以就继续开始写.也不知道自己上次写到哪里了,不管了这里从面向对象的三个特性说起. 类和对象 在这之前,我们先了解什么是对象,已经什么是面向对象?对象:万物 ...

  9. [zoj3813]Alternating Sum 公式化简,线段树

    题意:给一个长度不超过100000的原串S(只包含数字0-9),令T为将S重复若干次首尾连接后得到的新串,有两种操作:(1)修改原串S某个位置的值(2)给定L,R,询问T中L<=i<=j& ...

  10. [codeforces-543B]bfs求最短路

    题意:给一个边长为1的无向图,求删去最多的边使得从a到b距离<=f,从c到d距离<=g,a,b,c,d,f,g都是给定的,求最多删去的边数. 思路:反过来思考,用最少的边构造两条从a到b, ...