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. Django配置xadmin后台模板之坑(一)

    环境: Python3.6 + Django2.0 + xadmin2.0 一.安装 1.首先安装就会有一个坑,很多教程的安装是直接在虚拟环境下使用 pip install xadmin 或者 pip ...

  2. jQuery-插入内容-新增内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. PHP乘法表

    <?php //一行*$a="*";echo ("$a <br>"); //一行50个*for($j=1;$j<=50;$j++){ e ...

  4. unity之复制文本到剪贴板

    代码如下: static void CopyString(string str) { TextEditor te = new TextEditor(); te.text = str; te.Selec ...

  5. Unity shader学习之屏幕后期处理效果之边缘检测

    边缘检测的原理是利用一些边缘检测算子对图像进行卷积操作. 转载请注明出处:http://www.cnblogs.com/jietian331/p/7232707.html 例如: 代码如下: usin ...

  6. 80x86的内存寻址机制

    80x86的内存寻址机制 80386处理器的工作模式: 模式. 模式之间可以相互转换,而模式之间不可以相互转换. DOS系统运行于实模式下,Windows系统运行与保护模式下. 实模式: 80386处 ...

  7. cmd下 mysql操作命令大全详解

    启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库:show datab ...

  8. 凯撒密码、GDP格式化输出、99乘法表

    1.恺撒密码的编码 s=input('明文:') print('密文:',end='') for i in s: print(chr(ord(i)+3),end='') 附加: print('字符串的 ...

  9. Linux QtCreator 编译报错:No rule to make target '.../***' needed by '***.o'.stop

    Linux QtCreator 编译报错:No rule to make target 'mainwindow.cpp'  needed by  'mainwindow.o'.stop [1]解决方案 ...

  10. STL容器之deque

    [1]deque容器 deque 是对 vector 和 list 优缺点的结合,它是处于两者之间的一种容器. [2]deque方法集 应用示例代码: #include <deque> # ...