章节七、5-Maps
一、向map集合中添加元素 map.put
package ZangJie7; import java.util.HashMap;
import java.util.Map; public class MapsDemo {
/*
* Maps为双列集合,存储元素都是成对存储,形式为“键值对”。
* Map.Entery存储键值对的映射关系:
* 例如:map中存储的键值对为“丈夫:妻子”,丈夫“张三”作为键对应妻子为“小红”,而Entery存储
* 着这种对应关系,Entery就像结婚证一样,上面有他们的信息。
* map也是接口,与set、list一样Java中已经写好了它的实现类。
* */
public static void main(String[] args) {
// 使用“多态”的形式来创建它的子类对象,括号中表示键和值的类型<键:值>
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "BMw");
map.put(6, "AoDi");
map.put(4, "HonDo");
System.out.println(map);
} }
允许结果为:
二、如何取出map元素中的值
package ZangJie7; import java.util.HashMap;
import java.util.Map; public class MapsDemo {
/*
* Maps为双列集合,存储元素都是成对存储,形式为“键值对”。
* Map.Entery存储键值对的映射关系:
* 例如:map中存储的键值对为“丈夫:妻子”,丈夫“张三”作为键对应妻子为“小红”,而Entery存储
* 着这种对应关系,Entery就像结婚证一样,上面有他们的信息。
* 键是唯一的不可重复,值是可以重复的
* map也是接口,与set、list一样Java中已经写好了它的实现类。
* */
public static void main(String[] args) {
// 使用“多态”的形式来创建它的子类对象,括号中表示键和值的类型<键:值>
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "BMw");
map.put(6, "AoDi");
map.put(4, "HonDo"); // 新建一个变量来接受map中的值,括号中表示的是key
String value1 = map.get(1);
String value2 = map.get(2);
// 打印values1中的接收到的值
System.out.println("键存在的情况打印的结果为:"+value1);
// 如果键不存在的情况下,打印的结果为null
// 因为机会中存储的是对象,引用数据类型默认值为空
System.out.println("键不存在的情况打印的结果为:"+value2);
} }
允许结果为:
三、键是唯一的不可重复,值是可以重复的
1、值相同,键不同
package ZangJie7; import java.util.HashMap;
import java.util.Map; public class MapsDemo {
/*
* Maps为双列集合,存储元素都是成对存储,形式为“键值对”。
* Map.Entery存储键值对的映射关系:
* 例如:map中存储的键值对为“丈夫:妻子”,丈夫“张三”作为键对应妻子为“小红”,而Entery存储
* 着这种对应关系,Entery就像结婚证一样,上面有他们的信息。
* 键是唯一的不可重复,值是可以重复的
* map也是接口,与set、list一样Java中已经写好了它的实现类。
* */
public static void main(String[] args) {
// 使用“多态”的形式来创建它的子类对象,括号中表示键和值的类型<键:值>
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "BMw");
map.put(6, "AoDi");
map.put(4, "HonDo"); // 新建一个变量来接受map中的值,括号中表示的是key
String value1 = map.get(1);
String value2 = map.get(2);
// 打印values1中的接收到的值
System.out.println("键存在的情况打印的结果为:"+value1);
// 如果键不存在的情况下,打印的结果为null
// 因为机会中存储的是对象,引用数据类型默认值为空
System.out.println("键不存在的情况打印的结果为:"+value2); // 键是唯一的不可重复,值是可以重复的
map.put(2, "BMw");
String value3 = map.get(2);
System.out.println("值相同,键不同打印的结果为:"+value3);
} }
允许结果为:
2、键相同,值不同
package ZangJie7; import java.util.HashMap;
import java.util.Map; public class MapsDemo {
/*
* Maps为双列集合,存储元素都是成对存储,形式为“键值对”。
* Map.Entery存储键值对的映射关系:
* 例如:map中存储的键值对为“丈夫:妻子”,丈夫“张三”作为键对应妻子为“小红”,而Entery存储
* 着这种对应关系,Entery就像结婚证一样,上面有他们的信息。
* 键是唯一的不可重复,值是可以重复的
* map也是接口,与set、list一样Java中已经写好了它的实现类。
* */
public static void main(String[] args) {
// 使用“多态”的形式来创建它的子类对象,括号中表示键和值的类型<键:值>
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "BMw");
map.put(1, "QQ");
map.put(6, "AoDi");
map.put(4, "HonDo"); // 新建一个变量来接受map中的值,括号中表示的是key
String value1 = map.get(1);
System.out.println("值相同,键不同打印的结果为:"+value1); } }
运行结果为(值“QQ”覆盖了"BWm",键相同,值覆盖):
三、Map介绍(不要奇怪为什么在这里放入map介绍,完全是为了凑字数):
Java 自带了各种 Map 类。这些 Map 类可归为三种类型:
1. 通用Map,用于在应用程序中管理映射,通常在 java.util 程序包中实现
HashMap、Hashtable、Properties、LinkedHashMap、IdentityHashMap、TreeMap、WeakHashMap、ConcurrentHashMap
2. 专用Map,通常我们不必亲自创建此类Map,而是通过某些其他类对其进行访问
java.util.jar.Attributes、javax.print.attribute.standard.PrinterStateReasons、java.security.Provider、java.awt.RenderingHints、javax.swing.UIDefaults
3. 一个用于帮助我们实现自己的Map类的抽象类
AbstractMap
章节七、5-Maps的更多相关文章
- 章节七、1-ArrayList
一.集合是一个容器,前面讲的数值也是一个容器, 它们的区别是: 1.数组既可以存储基本数据类型,又可以存储引用数据类型,而集合只能存储引用数据类型,也就是对象. 2.基本数据类型存储的是值,引用数据类 ...
- 章节七、6-Map集合的区别
一.通过entrySet取出Map中的元素 package ZangJie7; import java.util.HashMap; import java.util.Map; public class ...
- 章节七、4-Sets
一.set中不允许存在相同的元素 package ZangJie7; import java.util.ArrayList; import java.util.HashSet; import java ...
- 章节七、3-ArrayList和LinkedList对比
一.创建集合并添加元素(从末尾位置添加) package ZangJie7; import java.util.ArrayList; import java.util.LinkedList; impo ...
- 章节七、2-Linked List
package introduction9; import java.util.ArrayList; import java.util.LinkedList; import java.util.Lis ...
- LTE Module User Documentation(翻译15)——示例程序、参考场景以及故障检测和调试技巧
LTE用户文档 (如有不当的地方,欢迎指正!) 21 Examples Programs(示例程序) 路径 src/lte/examples/ 包含一些示例仿真程序,这些例子表明如何仿真不 ...
- java Hotspot 内存管理白皮书(中文翻译)
转自: http://my.oschina.net/u/568779/blog/166891 1引言 一个健壮的 Java™2平台,Standard Edition (J2SE™)拥有一个自动内存管理 ...
- java 内存管理 —— 《Hotspot内存管理白皮书》
说明 要学习Java或者任意一门技术,我觉得最好的是从官网的资料开始学习.官网所给出的资料总是最权威最知道来龙去脉的.而Java中间,垃圾回收与内存管理是Java中非常重要的一部分.<Hot ...
- java HotSpot 内存管理白皮书
原文见:http://www.open-open.com/lib/view/open1381034220705.html.查阅资料后,对原文做了补充. 文中关于JVM的介绍基于JDK1.6的Hotsp ...
随机推荐
- Linux 用脚本编写搭建yum本地仓库
Linux 用脚本编写搭建yum本地仓库 源码如下: #!/bin/bash #该脚本用于自动化搭建本地yum仓库 #挂载光盘 #作者:雨中落叶 #博客:https://www.cnblogs.com ...
- Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验
Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验][http://www ...
- ionic3 npm install cordova error syscall rename
突然出现cordova 不是内部或外部命令,也不是可运行的程序或批处理文件. 可是之前cordova安装后一直用的好好的啊,后来尝试重新安装cordova 出现这个错误.也尝试重新安装了最新版本的no ...
- MySQL(2)---Explain
Explain 什么是explain 使用explain关键字,可以模拟优化器执行SQL语句查询,从而知道MySQL如果处理你的SQL语句,分析语句的性能瓶颈. explain 分析sql语句 使用e ...
- IT十年经典书籍
摘自网络,近来在浏览时,发现一个叫做“IT十年经典书籍”的主题.google了一下,实在找不出这个主题的源头出处.不过这个主题中所涉及的每一本书讲出来都是振聋发聩的,大可以作为它那个行业的经典了. ...
- Mybatis学习(二)————— 全局配置文件详解
一.全部配置内容 SqlMapConfig.xml的配置内容和顺序如下,顺序不能乱.现在来对这些属性的意思一一进行讲解. 二.properties 作用:引用java属性文件中的配置信息,比如,加载连 ...
- [心得] 如何利用liquibase進行資料庫版本控制 - 基礎觀念
前言 - 會寫這篇除了是要記錄一下使用的過程之外,也是發現到網路上找來的教學幾乎都是跟其它環境做結合 比較沒有單純利用command進行的流程.也沒有整體觀念的介紹,所以將我所理解的整理分享給大家. ...
- 《深入理解Java虚拟机》(三)垃圾收集器与内存分配策略
垃圾收集器与内存分配策略 详解 3.1 概述 本文参考的是周志明的 <深入理解Java虚拟机>第三章 ,为了整理思路,简单记录一下,方便后期查阅. 3.2 对象已死吗 在垃圾收集器进行回收 ...
- TortoiseGit为github账号添加SSH keys,解决pull总是提示输入密码的问题
每次同步或者上传代码到githun上的代码库时,需要每次都输入用户名和密码,这时我们设置一下SSH key就可以省去这些麻烦了.若果使用TortoiseGit作为github本地管理工具,Tortoi ...
- Core知识整理
概述 Commond-Line ASP.NET结构文件 Startup 配置文件 中间件和依赖注入 依赖注入原理 框架自带的依赖注入(IServiceCollection) 依赖注入生命周期 依赖注入 ...