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. .NET 黑魔法 - asp.net core 配置文件的"对象存储"

    来,全都是干货. 我们都知道在Framework版本的mvc项目中,配置数据是通过web.config里的appSettings节点配置,我们不得不写一些读取配置文件字符串的类,比如保存在静态的变量中 ...

  2. mysql优化(四)

    一.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where / group by / order by 涉及的列上建立索引. 1.索引失效情况. SQL什么条件会使用索引? 当字段上建有索引时, ...

  3. man查看帮助命令

    man -h/-help 1.在man命令帮助信息的界面中,所包含的常用操作按键及其用途 按键 用处 空格键 向下翻一页 PaGe down 向下翻一页 PaGe up 向上翻一页 home 直接前往 ...

  4. 《A Structured Self-Attentive Sentence Embedding》(注意力机制)

    Background and Motivation: 现有的处理文本的常规流程第一步就是:Word embedding.也有一些 embedding 的方法是考虑了 phrase 和 sentence ...

  5. windows假装更新升级

    http://fakeupdate.net/ 进入这个网站,选择一款系统界面,按F11进去全屏 比较有趣

  6. Python全栈-数据库存储引擎

    一.存储引擎概述 在个人PC机中,不同的文件类型有不同的处理机制进从存取,例如文本用txt打开.保存:表格用excel读.写等.在数据库中,同时也存在多种类型的表,因此数据库操作系统中也应拥有对各种表 ...

  7. HighCharts插件学习(二)

    HighCharts属性 credits: {版权信息} data: {数据功能模块} drilldown: {钻取} exporting: {导出}   labels: {标签}   legend: ...

  8. 用python进行wifi密码生成

    随着无线网络的不断发展,几乎所有场合都会覆盖WIFI信号,无论是公共地点还是家庭之中.众所周知,目前WIFI普遍的认证方式为wpa2,这种认证方式安全性相当不错,但由于人们设置密码时的随意性和固有思维 ...

  9. Linux 软件安装卸载命令

    安装方式一: RPM 命令 rpm -qa|grep java  查看java 是否安装 rpm -e --nodeps  软件名   卸载已安装软件 rpm -ivh xxx.rpm   安装 安装 ...

  10. 只打开一次浏览器,生成html测试报告<小紧张中......>

    from selenium import webdriverimport unittestimport time class Blog(unittest.TestCase): "" ...