首先,回忆和练习一下HashMap的遍历
package Exercise.exercise;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set; public class Demo01 {
public static void main(String[] args) {
HashMap<String,String> hm=new
HashMap<>(); hm.put("赵又廷","高圆圆");
hm.put("邓超","孙俪");
hm.put("刘恺威","杨幂"); Set<String> set=hm.keySet(); // //调用keySet方法:set中存储的是所有的key
// Iterator<String> it=set.iterator();
//
// //取出set中所有的key,根据key来获取对应的value
// while (it.hasNext()){
// String key=it.next();
// String value=hm.get(key);
// System.out.println(key+" "+value);
// }
// for (String key:set){
String value=hm.get(key);
System.out.println(key+" "+value);
}
}
}

package test01.Map.Entry; /**
* public interface Map<k,v>{ //Map外部接口
* interface Entry<k,v>{ //Entry上的k,v随着Map上
* //k,v变化
* K getKey();
* V getValue(); //定义的两个抽象方法
* }
* }
* class A implements Map.Entry<k,v>{
* K key;
* V value;
*
* //重写方法
* public final K getKey(){
* return key;
* }
* public final V getValue(){
* return value;
* }
* //结论:Map.Entry中封装了key,value,并且封装了
* //获取key和value方法(getKey,getValue);
*
* //这个结论是通过分析源码得到的;
* }
*
*/
public class Demo02 {
public static void main(String[] args){
Map<String,String> hm=new HashMap<String,String>();
hm.put("邓超","孙俪");
        hm.put("赵又廷","高圆圆");
        hm.put("刘恺威","杨幂");
//利用entrySet来遍历
Set<Map.Entry<String,String>> set=hm.entrySet();
//迭代器方式遍历
/**
Iterator<Map.Entry<String,String>> me=it.next();
while(){
Map.Entry<String,String> me=it.next();
String key=me.getKey();
String value=me.getValue();
System.out.println(key+" "+value);
}
*/
//增强for来遍历
for(Map.Entry<String,String> me:set){
           String key=me.getKey();
String value=me.getValue();
System.out.println(key+" "+value);
         }
     }
}

说明:之所以用这样,是因为set可以直接用迭代器的方式,而Map这个不能直接用迭代器,因为set/list的父接口是Collection  ,而最后的根是Iterator,而Map不具备这个,所以要

打包到Set中,EntrySet这个接口对象类似,它是Map接口的接口,即内部接口,这个和内部类类似,自己多默写,多总结,多练习,熟能生巧;

Map.Entry的由来和使用的更多相关文章

  1. Map接口,Map.Entry,hashMap类,TreeMap类,WeakHashMap。

    Collection接口之前接触过,每次保存的对象是一个对象,但是在map中保存的是一对对象,是以key->value形式保存的. 定义: public interface Map<K,V ...

  2. java的Map及Map.Entry解析

    Map<K,V>是以键-值对存储的(key-value), 而Entry<K,V>是Map中的一个接口,Map.Entry<K,V>接口主要用于获取.比较 key和 ...

  3. java Map及Map.Entry详解

    Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法. keySet()方法返回值是Map中key值的集合:e ...

  4. Map.Entry用法示例

    一般在HashMap中可以通过key值得到value值,以key作为检索项.Map.Entry<K,V>可以作为条目的检索项.HashMap中有entrySet()方法,返回值是Set&l ...

  5. Map.Entry

    Map.Entry Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法,keySet()方法返回值是Map中 ...

  6. 另一种遍历Map的方式: Map.Entry 和 Map.entrySet()

    源网址: http://blog.csdn.net/mageshuai/article/details/3523116 今天看Think in java 的GUI这一章的时候,里面的TextArea这 ...

  7. The type java.util.Map$Entry cannot be resolved. It is indirectly referenced。。.相似的错误

    这个问题是出现一般都是因为JDK版本的问题.今天公司安装NC的时候就出现了这个问题.经过对错误的分析和猜测,将JDK从1.8i换成了1.7,之后就行了.根据我个人的猜测,可能是1.8以后就不支持Map ...

  8. Java—Map.Entry

    Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法. keySet()方法返回值是Map中key值的集合:e ...

  9. java Map及Map.Entry详解(转)

    Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法,keySet()方法返回值是Map中key值的集合:en ...

随机推荐

  1. CentOS7 日常操作

    A 安装netstat1.首先配置好本机的yum源: yum repolist all2.利用netstat命令,却提示:-bash: netstat: command not found3.执行yu ...

  2. (转)Jquery之ShowLoading遮罩组件

    本文转载自:http://www.cnblogs.com/eczhou/archive/2012/12/18/2822788.html 一.遮罩用途及效果 ShowLoading这个jQuery插件设 ...

  3. 一个DRF框架的小案例

    第一步:安装DRF DRF需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展应用的 ...

  4. dataTables使用的详细说明整理

    本文共三个部分:官网|基本使用|遇到的问题 一.官方网站:http://www.datatables.club/ 二.基本使用: 1.dataTables的引入及初始化 <!--第一步:引入Ja ...

  5. python 链接交换机并执行相关命令

    原文地址 https://blog.csdn.net/u010897775/article/details/80311786?utm_source=blogxgwz0 # encoding=utf-8 ...

  6. [Python3 填坑] 005 如何“响铃”

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 问题的由来 2.2 问题的解决 1. print( 坑的信息 ) 挖坑时间:2019/01/08 明细 坑的编码 内容 Py004-2 ...

  7. HDU 1069 Monkey and Banana dp 题解

    HDU 1069 Monkey and Banana 纵有疾风起 题目大意 一堆科学家研究猩猩的智商,给他M种长方体,每种N个.然后,将一个香蕉挂在屋顶,让猩猩通过 叠长方体来够到香蕉. 现在给你M种 ...

  8. [SPOJ]Count on a tree II(树上莫队)

    树上莫队模板题. 使用欧拉序将树上路径转化为普通区间. 之后莫队维护即可.不要忘记特判LCA #include<iostream> #include<cstdio> #incl ...

  9. 小白学Python(11)——pyecharts,绘制饼图 Pie

    Pie-基本示例 from example.commons import Faker from pyecharts import options as opts from pyecharts.char ...

  10. 40-python基础-python3-字典常用方法-setdefault()

    setdefault() 常常需要为字典中某个键设置一个默认值,当该键没有任何值时使用它,如下面的情况: setdefault()方法, 字典.setdefault(键,默认值) 传递给该方法的第一个 ...