假设有数组    
        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. 数学--数论--HDU2136 Largest prime factor 线性筛法变形

    Problem Description Everybody knows any number can be combined by the prime number. Now, your task i ...

  2. 数学--数论--HDU1825(积性函数性质+和函数公式+快速模幂+非互质求逆元)

    As we all know, the next Olympic Games will be held in Beijing in 2008. So the year 2008 seems a lit ...

  3. 2019 Multi-University Training Contest 10 I Block Breaker

    Problem Description Given a rectangle frame of size n×m. Initially, the frame is strewn with n×m squ ...

  4. 在Windows中快速配置vim

    vim原本是在Linux中的编辑器,如果使用熟练写代码速度可以远高于其它编辑器 当然很多OI比赛也会要求在Linux中进行 然而: 想学Linux,首先要有一个Linux,但有了Linux,这个直播间 ...

  5. 两个命令把 Vim 打造成 Python IDE

    运行下面两个命令,即可把 Vim(含插件)配置成 Python IDE.目前支持 MAC 和 Ubuntu. Shell   curl -O https://raw.githubusercontent ...

  6. Java——多线程之Lock锁

    Java多线系列文章是Java多线程的详解介绍,对多线程还不熟悉的同学可以先去看一下我的这篇博客Java基础系列3:多线程超详细总结,这篇博客从宏观层面介绍了多线程的整体概况,接下来的几篇文章是对多线 ...

  7. Java——Java集合那些事

    集合概述: 集合和数组都可以保存多个对象,但是数组的长度不可变,集合可以保存数量变化的数据.java中的集合类主要由两个接口派生出,Collection和Map Collection接口和Iterat ...

  8. E. XOR Guessing 交互题 Educational Codeforces Round 71 (Rated for Div. 2)

    E. XOR Guessing 交互题. 因为这个数最多只有14位 0~13,所以我们可以先处理后面7位,然后再处理后面7位. 因为异或的性质,如果一个数和0异或,那么就等于本身. 所以我们第一次异或 ...

  9. Codeforces Round #575 (Div. 3) 昨天的div3 补题

    Codeforces Round #575 (Div. 3) 这个div3打的太差了,心态都崩了. B. Odd Sum Segments B 题我就想了很久,这个题目我是找的奇数的个数,因为奇数想分 ...

  10. 软件工程复习 WHUT

    软件过程模型: 瀑布模型:界限分明的独立阶段,计划驱动的软件过程.规范软件开发活动 (例如:可分为分析.开发.维护三个阶段) 也称生命周期模型.线性模型,采用结构化分析.设计.编程技术 不足的地方:知 ...