一、向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. 章节七、1-ArrayList

    一.集合是一个容器,前面讲的数值也是一个容器, 它们的区别是: 1.数组既可以存储基本数据类型,又可以存储引用数据类型,而集合只能存储引用数据类型,也就是对象. 2.基本数据类型存储的是值,引用数据类 ...

  2. 章节七、6-Map集合的区别

    一.通过entrySet取出Map中的元素 package ZangJie7; import java.util.HashMap; import java.util.Map; public class ...

  3. 章节七、4-Sets

    一.set中不允许存在相同的元素 package ZangJie7; import java.util.ArrayList; import java.util.HashSet; import java ...

  4. 章节七、3-ArrayList和LinkedList对比

    一.创建集合并添加元素(从末尾位置添加) package ZangJie7; import java.util.ArrayList; import java.util.LinkedList; impo ...

  5. 章节七、2-Linked List

    package introduction9; import java.util.ArrayList; import java.util.LinkedList; import java.util.Lis ...

  6. LTE Module User Documentation(翻译15)——示例程序、参考场景以及故障检测和调试技巧

    LTE用户文档 (如有不当的地方,欢迎指正!)     21 Examples Programs(示例程序)   路径 src/lte/examples/ 包含一些示例仿真程序,这些例子表明如何仿真不 ...

  7. java Hotspot 内存管理白皮书(中文翻译)

    转自: http://my.oschina.net/u/568779/blog/166891 1引言 一个健壮的 Java™2平台,Standard Edition (J2SE™)拥有一个自动内存管理 ...

  8. java 内存管理 —— 《Hotspot内存管理白皮书》

    说明   要学习Java或者任意一门技术,我觉得最好的是从官网的资料开始学习.官网所给出的资料总是最权威最知道来龙去脉的.而Java中间,垃圾回收与内存管理是Java中非常重要的一部分.<Hot ...

  9. java HotSpot 内存管理白皮书

    原文见:http://www.open-open.com/lib/view/open1381034220705.html.查阅资料后,对原文做了补充. 文中关于JVM的介绍基于JDK1.6的Hotsp ...

随机推荐

  1. mysql 开发基础系列8 表的存储引擎

    一. 表的存储引擎 1. 概述 插件式存储引擎是mysql数据库最重要的特性之一, 用户可以根据应用的需要选择如何存储和索引数据,是否使用事务等.在mysql 5.0里支持的引擎包括: MyISAM, ...

  2. app 性能

    Android App优化之性能分析工具 https://www.jianshu.com/p/da2a4bfcba68 -------------- 系列文: 背景:Android App优化, 要怎 ...

  3. Spring boot @EnableScheduling 和 @Scheduled 注解使用例子

    前言 Spring Boot提供了@EnableScheduling和@Scheduled注解,用于支持定时任务的执行,那么接下来就让我们学习下如何使用吧: 假设我们需要每隔10秒执行一个任务,那么我 ...

  4. java中fail-fast 和 fail-safe的区别

    java中fail-fast 和 fail-safe的区别   原文地址:http://javahungry.blogspot.com/2014/04/fail-fast-iterator-vs-fa ...

  5. 【原创】单片系统SoC

    人们根据需要把一些功能模块(蓝牙.GPRS.TCP/IP通信模块等等)与MCU进行有机的结合,制造出集成度更高的系统级的芯片.     SoC是System on Chip的缩写,直译是“芯片级系统” ...

  6. apache用户认证访问机制(转)

    Apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证.前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,第1步:我们在/var/ww ...

  7. Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken

    Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包括: ...

  8. Web笔记(一) Web 简介与开发环境搭建

    Web应用程序的工作原理 大多数的Web应用程序结构都是采用最为流行的B/S软件开发体系结构,将Web应用程序部署在Web服务器上,只要Web服务器启动,用户就可以通过客户端浏览器发送HTTP请求到W ...

  9. Docker在Linux上运行NetCore系列(五)更新应用程序

    转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章与其它系列文章不同,为了方便测试,新建了一个ASP.Net Core视图应用. 备注:下面说的应用,只是在容器中运行的应用程序. 查看现在运 ...

  10. BurpSuite 各模块使用

    Proxy  代理 对浏览器进行代理 对浏览器增加代理服务器 可以对http 请求进行监视 intercept is on 进行监控  off 不监控 可以任意修改 对任意的网络请求 进行爬虫 在 s ...