Map接口----Map中嵌套Map
package cn.good.com; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set; /*
* 一、 Map 接口?
*
* 1.map接口中 键和值----叫做映射。
* 2.给定一个键,一个值。存储在Map对象之后,通过键来获取!键不可以重复。值可以重复1
* 3.访问的值不存在,抛出异常NoSuchElementException异常!
* 4.当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。
5.当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。
6.当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。
*
* 二、常用的集合
*
* 1.HashMap---------【哈希表的存储结构,但是无法存取顺序】---- Map map01=new HashMap(); 无序 就是没有角标的 不要从0开始算!
* 2.LinKedHashMap---【哈希表和链表,可以有序】----------------Map map02=new LinKedHashMap();
*
* 三、方法
*
* 1.put("a",1) 将键值存储到集合中 夫妻关系?
* 2.get() 通过键获取值 没有的话返回-----[null]
* 3.remove() 移除集合中的键值对
*
* 四、Map接口怎么便利?
*
* 1.迭代
* for (Iterator it = map03.keySet().iterator(); it.hasNext();) {
String type = (String) it.next();
Object value=(Object)map03.get(type);
System.out.println(type+"<====> "+value);
}
* 2.for循环增强!
* for(String key:map03.keySet()){------------------>【注意!】使用for增强时 map03 哪里不能省略 <String,Object> 否则会报错! Object a1=map03.get(key);
System.out.println(key+" "+a1);
}
*
*
*/
public class MapDemo01 {
public static void main(String[] args) {
map();
}
//map 嵌套map
public static void map(){
//一班
Map map01=new HashMap();
map01.put(001, "张三");
map01.put(002, "李四");
map01.put(003, "王五");
map01.put(004, "李四");
map01.put(005, "王五"); //二班
Map map02=new HashMap();
map02.put(004, "熊大");
map02.put(005, "熊二");
map02.put(006, "熊三"); //定义容器 key是班级名字,值是两个班级的容器
Map<String,Object> map03=new HashMap();
map03.put("一班", map01);
map03.put("二班", map02); Object a=map01.remove(002); //删除2号元素 for (Iterator it = map01.keySet().iterator(); it.hasNext();) { //迭代便利输出!
Integer type = (Integer) it.next(); //键值是int 类型 集合里面放的是引用数据类型 int<--->integer
System.out.println(map01.get(type)); }
System.out.println("==========="); /* for (int i=0;i<=map01.size();i++) { System.out.println(map01.get(i));
}
*/
//增强for循环 实现Map 接口便利!
for(String key:map03.keySet()){ Object a1=map03.get(key);
System.out.println(key+" "+a1);
} //迭代获取对象元素!
/* for (Iterator it = map03.keySet().iterator(); it.hasNext();) {
String type = (String) it.next();
Object value=(Object)map03.get(type);
System.out.println(type+"<====> "+value); }*/
} }
Map接口----Map中嵌套Map的更多相关文章
- js中map和python中的map
js 中的map: 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow( ...
- Java中的集合(七)双列集合顶层接口------Map接口架构
Java中的集合(七)双列集合顶层接口------Map接口 一.Map接口的简介 通过List接口,我们知道List接口下的集合是单列集合,数据存储是单列的结构.Map接口下是一个键值对(key-v ...
- Java学习(Map接口)
一.概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. 1. Collection中的集合,元素是孤立存在的(理解为单身), ...
- Java集合框架之Map接口浅析
Java集合框架之Map接口浅析 一.Map接口综述: 1.1java.util.Map<k, v>简介 位于java.util包下的Map接口,是Java集合框架的重要成员,它是和Col ...
- Java之Map接口(双列集合)
Map集合概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射.Java提供了专门的集合类用来存放这种对象关系的对 ...
- JAVA ,Map接口 ,迭代器Iterator
1. Map 接口概述 java.util.Map 接口描述了映射结构, Map 接口允许以键集.值集合或键 - 值映射关系集的形式查看某个映射的内容. Java 自带了各种 Map 类. 这些 ...
- 【Java入门提高篇】Day19 Java容器类详解(二)Map接口
上一篇里介绍了容器家族里的大族长——Collection接口,今天来看看容器家族里的二族长——Map接口. Map也是容器家族的一个大分支,但里面的元素都是以键值对(key-value)的形式存放的, ...
- Java:集合,Map接口框架图
Java集合大致可分为Set.List和Map三种体系,其中Set代表无序.不可重复的集合:List代表有序.重复的集合:而Map则代表具有映射关系的集合.Java 5之后,增加了Queue体系集合, ...
- 集合之六:Map接口
Map接口概述 Map接口中的集合和Collection接口中的集合在存储数据的格式上有很大的不同,Map接口下的内容是以<K , V> ,键值对的形式存储的,我们查询API,Map接口的 ...
随机推荐
- 【ES6】export和important使用区别
export命令 export { name1, name2, …, nameN }; export { variable1 as name1, variable2 as name2, …, name ...
- 请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”
请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母.例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”.星期的英文单词如下表所示. 星期 ...
- Java NIO1:浅谈I/O模型
一.什么是同步?什么是异步? 同步和异步的概念出来已经很久了,网上有关同步和异步的说法也有很多.以下是我个人的理解: 同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或 ...
- Git Submodule管理项目子模块
使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone ...
- 【asp.net core mvc + angular6实战】 - 1. 环境搭建
为什么打算写这些文章? 没有为什么,只是为了学习Angular和更了解.Net Core等技术 需要用到的技术? 后端使用.Net Core 2.1 + EF Core 2.1 + Mysql 5.7 ...
- 朱晔和你聊Spring系列S1E8:凑活着用的Spring Cloud(含一个实际业务贯穿所有组件的完整例子)
本文会以一个简单而完整的业务来阐述Spring Cloud Finchley.RELEASE版本常用组件的使用.如下图所示,本文会覆盖的组件有: Spring Cloud Netflix Zuul网关 ...
- JS 异步系列 —— Promise 札记
Promise 研究 Promise 的动机大体有以下几点: 对其 api 的不熟悉以及对实现机制的好奇; 很多库(比如 fetch)是基于 Promise 封装的,那么要了解这些库的前置条件得先熟悉 ...
- IIS6下使用多域名和通配符证书
由于SSL协议,在完成握手以前,都只能采用IP地址通信方式,没有办法获取访问地址中的域名信息,所以针对每个IP地址的每个端口,服务器只能返回相同的一张证书.如果要实现多个不同域名共享一个IP地址的缺省 ...
- Django Rest framework基础使用之Request/Response
1.Request restframework提供了一个Request对象(rest_framework.request.Request) Request对象继承了Django默认的HttpReque ...
- zabbix安装与配置
一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题.是一个基于WE ...