package Test4;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import org.junit.Test;

public class MapBianLi {
/*
* 如何遍历Map
* Set keySet()-->遍历Key
* Collection values()-->遍历value
* Set entrySet()-->遍历键值对
* */
@Test
public void test1(){
Map map=new HashMap();

map.put("中国", 1949);
map.put("美国", 1768);
map.put("俄罗斯", 1500);
map.put("日本", 1000);

Set set=map.keySet();
for(Object o:set){
System.out.println(o);
}
}//遍历Map中所有的Key
@Test
public void test2(){
Map map=new HashMap();

map.put("中国", 1949);
map.put("美国", 1768);
map.put("俄罗斯", 1500);
map.put("日本", 1000);

Collection c=map.values();

Iterator i=c.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}//遍历Map中所有的value
@Test
public void test3(){
Map map=new HashMap();

map.put("中国", 1949);
map.put("美国", 1768);
map.put("俄罗斯", 1500);
map.put("日本", 1000);

Set set=map.keySet();
Iterator i=set.iterator();
while(i.hasNext()){
String str=(String)i.next();

注:此处若写成System.out.println(i.next()+"-->"+map.get(i.next()));      

输出结果:

俄罗斯-->1000
美国-->1949

原因:在一个输出语句中i.next()两次,指针向下西东两次
System.out.println(str+"-->"+map.get(str));
}
}//方式一:遍历所有的键值对
@Test
public void test4(){
Map map=new HashMap();

map.put("中国", 1949);
map.put("美国", 1768);
map.put("俄罗斯", 1500);
map.put("日本", 1000);

Set set=map.entrySet();//把Map中一对一对的键值对转化到Set接口中
for(Object o:set){
Map.Entry entry=(Map.Entry)o;

注:Entry是Map中的一个内部类,指一个键值对
System.out.println(entry.getKey()+"-->"+entry.getValue());
}
}//方式二:遍历所有的键值对
}

Java中Map接口的遍历的更多相关文章

  1. java中map接口hashMap以及Enty之间的用法和关系

    java中map接口hashMap以及Enty之间的转换 首先说的是map接口: Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value ...

  2. Java中map接口 遍历map

    转自:https://www.cnblogs.com/wjk921/p/4918442.html java集合框架用于存储数据,也被称为集合类 位于java.util包下 java.util包下常用接 ...

  3. Java中Map用法详解

    原文地址http://blog.csdn.net/guomutian911/article/details/45771621 原文地址http://blog.csdn.net/sunny2437885 ...

  4. JAVA ,Map接口 ,迭代器Iterator

    1.    Map 接口概述 java.util.Map 接口描述了映射结构, Map 接口允许以键集.值集合或键 - 值映射关系集的形式查看某个映射的内容. Java 自带了各种 Map 类. 这些 ...

  5. java中Map,List与Set的差别

    java中Map,List与Set的差别 java集合的主要分为三种类型: Set(集) List(列表) Map(映射) 要深入理解集合首先要了解下我们熟悉的数组: 数组是大小固定的,而且同一个数组 ...

  6. Java之Map接口(双列集合)

    Map集合概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射.Java提供了专门的集合类用来存放这种对象关系的对 ...

  7. Java 之 Map 接口

    一.Map 接口概述 java.util.Map 接口专门用来存放键值对这种对象关系的对象. 下面比较一下 Collection 与 Map 的区别: Collection 中的集合,元素是孤立存在的 ...

  8. java中Map及Map.Entry详解

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

  9. Java集合Map接口与Map.Entry学习

    Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) ...

随机推荐

  1. STL之Set和multiset容器

    1.Set和multiset容器 1)set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指定插入位置. 2)set采用红黑树变体的数据 ...

  2. Yii2返回以主键id为键名的数组

    branch.php <?php namespace app\models; use Yii; /** * This is the model class for table "bra ...

  3. clientWidth,offsetWidth,scrollWidth区别

    <html> <head> <title>clientWidth,offsetWidth,scrollWidth区别</title> </head ...

  4. flask 处理表单数据

    处理表单数据 表单数据的处理涉及很多内容,从获取数据到保存数据大致有以下步骤: 1.  解析请求,获取表单数据 2.  对数据进行必要的转换,比如讲勾选框的值转换成python的布尔值 3.  验证数 ...

  5. 以太坊erc20转账失败的情况和原因

    以太坊erc20转账失败的情况和原因 eth转账失败有多种情况,除了手续费过低以外(Out of gas),众筹额度满了(Bad instruction)也会失败链上转账有可能失败,转账失败转账的币退 ...

  6. [转载]基于 Token 的身份验证

    作者:王皓发布于:2015-08-07 22:06更新于:2015-08-07 22:07 最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twit ...

  7. AngularJS中angular.min.js:80 Error: [ng:areq] http://errors.angularjs.org/1.2.9/ng/areq

    报出来的时候,出现这种错误,是因为在引入控制器的时候没有引入成功,我遇到这个错误是在因为没有将父控制器引入到子控制器中.

  8. Python-OpenCV基本操作cv2

    1.图片加载.显示和保存 import cv2 # 生成图片 img = cv2.imread("1.jpg") # 生成灰色图片 imgGrey = cv2.imread(&qu ...

  9. Prometheus监控学习笔记之PromQL 内置函数

    概述 Prometheus 提供了其它大量的内置函数,可以对时序数据进行丰富的处理.某些函数有默认的参数,例如:year(v=vector(time()) instant-vector).其中参数 v ...

  10. Django XSS攻击

    Django XSS攻击 XSS(cross-site scripting跨域脚本攻击)攻击是最常见的web攻击,其特点是“跨域”和“客户端执行”,XSS攻击分为三种: Reflected XSS(基 ...