思路:

1、定义集合

2、存储数据

3、添加元素

4、遍历

  4.1将需要遍历的集合的键封装到set集合中(这用到了entrySet方法,和Entry对象)

  4.2声明迭代器或者用for增强循环

  4.3通过set集合的getKey和getValue方法拿到值和键

5、打印输出就好

代码呈现如下:

 package com.aaa.demo;

 import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set; public class MaoMapDemo {
public static void main(String[] args) {
//定义Java班的集合
HashMap<String, String> javas=new HashMap<String,String>();
//定义Hdoop班的集合
HashMap<String, String> Hdoop=new HashMap<String,String>();
//向班级存储学生
javas.put("001", "大冰");
javas.put("002", "北岛"); Hdoop.put("001", "舒婷");
Hdoop.put("002", "食指");
//定义aaa容器,键是班级的名字 值是两个班级的容器
HashMap<String, HashMap<String, String>> aaa=new HashMap<String,HashMap<String,String>>();
aaa.put("现代", javas);
aaa.put("近代", Hdoop);
entrySet1(aaa);
}
public static void entrySet(HashMap<String,HashMap<String,String>> aaa){
//调用集合aaa的方法 entrySet将aaa集合的键封装到Set集合中
Set<Entry<String,HashMap<String,String>>> classNameSet=aaa.entrySet();
//迭代Set集合
Iterator<Entry<String,HashMap<String,String>>> it=classNameSet.iterator();
while(it.hasNext()){
Entry<String,HashMap<String,String>> next=it.next();
//getKey getValue 得到键和值
String classNameKey = next.getKey();
System.out.println(classNameKey);
//aaa容器的键 班级姓名classMap
HashMap<String,String> classMap=next.getValue();
//entrySet将classMap集合的键封装到set集合中
Set<Entry<String,String>> studentSet=classMap.entrySet();
//迭代
Iterator<Entry<String, String>> studentIt = studentSet.iterator();
while(studentIt.hasNext()){
//遍历集合
Entry<String,String> studentEntry=studentIt.next();
String numKey = studentEntry.getKey();
String nameValue = studentEntry.getValue();
System.out.println(numKey+": "+nameValue);
}
}
}
public static void entrySet1(HashMap<String,HashMap<String,String>> aaa){
//调用集合aaa的方法 entrySet将aaa集合的键封装到Set集合中
Set<Entry<String,HashMap<String,String>>> cNS=aaa.entrySet();
//for循环遍历得到班级
for(Entry<String,HashMap<String,String>> next:cNS){
//getKey getValue 得到键和值
String classKey = next.getKey();
//aaa容器的键 班级姓名classMap
HashMap<String, String> classValue = next.getValue();
//entrySet将classMap集合的键封装到set集合中
Set<Entry<String, String>> studentSet = classValue.entrySet();
System.out.println(classKey);
//for循环遍历
//Set<Entry<String, String>> entrySet = classValue.entrySet();
for(Entry<String, String> studentEntry:studentSet){
String numKey = studentEntry.getKey();
String nameValue = studentEntry.getValue();
System.out.println(numKey+": "+nameValue);
}
}
}
}

Java的map键值对的用法,map的遍历,Entry对象的使用的更多相关文章

  1. java 把json对象中转成map键值对

    相关:Json对象与Json字符串的转化.JSON字符串与Java对象的转换 本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据 比如json数据如下: {responseHeade ...

  2. 枚举类返回Map键值对,绑定到下拉框

    有时候,页面的下拉框要显示键值对,但是不想从数据库取,此时我们可以写一个枚举类, Java后台代码 1.枚举类 import java.util.HashMap; import java.util.M ...

  3. 用字典给Model赋值并支持map键值替换

    用字典给Model赋值并支持map键值替换 这个是昨天教程的升级版本,支持键值的map替换. 源码如下: NSObject+Properties.h 与 NSObject+Properties.m / ...

  4. 如何将Map键值的下划线转为驼峰

    本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:如何将Map键值的下划线转为驼峰: 例,将HashMap实例extMap键值下划线转为驼峰: 代码: HashMap<String ...

  5. Java Map 键值对排序 按key排序和按Value排序

    一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...

  6. 通过反射,获取linkedHashMap的最后一个键值对。对map按照值进行排序。

    1:通过反射,获取linkedHashMap的最后一个键值对. Map<Integer, Integer> map = new LinkedHashMap<>(); Field ...

  7. 根据map键值对,生成update与select语句,单条执行语句

    方法 constructUpdateSQL private static String constructUpdateSQL(String tableName, List<Map<Stri ...

  8. Java的HashMap键值对存储结构解析

    容器总体结构 Map存储键值对的数据结构是“数组+链表”的结构,结合了数组查询数据快和链表增删数据快的优点:用Entry[]存储键值对,Entry为类类型,类里面有四个属性:hash.K.V.next ...

  9. a=av###b=bv###c=cv map键值对 (a,av) (b,bv) (c,cv)

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; impo ...

随机推荐

  1. 【Fiddler学习】Fiddler面板的详细介绍(转)

    转自:https://www.cnblogs.com/GreenLeaves/p/6971452.html 下面开始分析主界面的功能区: 1.Fiddler菜单栏,上图黑色部分,包括捕获http请求, ...

  2. 数据库设计和ER模型-------之关系模型的基本概念(第二章)

    关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...

  3. iOS 第三方应用调用safari

    一,直接调用safari打开url [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www. ...

  4. 38.纯 CSS 创作阶梯文字特效

    原文地址:https://segmentfault.com/a/1190000015107942 HTML code: <div class="container"> ...

  5. java中的排序(自定义数据排序)--使用Collections的sort方法

    排序:将一组数据按相应的规则 排列 顺序 1.规则:       基本数据类型:日常的大小排序. 引用类型: 内置引用类型(String,Integer..),内部已经指定规则,直接使用即可.---- ...

  6. IBeacon协议分析

    IBeacon协议分析 跳转至: 导航. 搜索 对于一个UUID是E2C56DB5-DFFB-48D2-B060-D0F5A71096E0, major是0, minjor是0的iBeacon,此时的 ...

  7. oozie 工作流调试及报错

    1.  oozie 调用sql文件的workflow 错误汇总: 1)hive2server密码错误.(有时设置可以无密码,有时需要登陆密码,有时是单独的hive2server密码) Connecti ...

  8. SPARK执行流程

    RDD运行原理 1.创建 RDD 对象 2.DAGScheduler模块介入运算,计算RDD之间的依赖关系.RDD之间的依赖关系就形成了DAG 3.每一个JOB被分为多个Stage,划分Stage的一 ...

  9. 浅析USB HID ReportDesc (HID报告描述符)

    在USB中,USB Host是通过各种描述符来识别识别设备的,一般在设备枚举的过程将会获取有设备描述符/配置描述符/接口描述符/端点描述符/字符串描述符等 现在我们来介绍一下HID ReportDes ...

  10. 01-css的引入方式和常用选择器

    一.css介绍 现在的互联网前端分三层: HTML:超文本标记语言.从语义的角度描述页面结构. CSS:层叠样式表.从审美的角度负责页面样式. JS:JavaScript .从交互的角度描述页面行为 ...