一、向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. [原创]K8飞刀Final

    法律声明: 工具仅供安全研究或授权渗透,非法用途后果自负. 工具: K8飞刀Final作者: K8哥哥博客: https://www.cnblogs.com/k8gege简介: 一款多功能网络安全渗透 ...

  2. mysql 开发进阶篇系列 8 锁问题 (共享锁与排它锁演示)

    1 .innodb 共享锁(lock in share mode)演示 会话1 会话2 SET autocommit=0; SELECT cityname FROM  city WHERE city_ ...

  3. 【Python】正则表达式简单教程

    说明:本文主要是根据廖雪峰网站的正则表达式教程学习,并根据需要做了少许修改,此处记录下来以备后续查看. <Python正则表达式纯代码极简教程>链接:https://www.cnblogs ...

  4. python 要掌握面向对象,你得会做这些题

    1,面向对象三大特性,各有什么用处,说说你的理解. 继承:解决代码重用问题 多态:多态性,可以在不考虑对象类型的情况下而直接使用对象 封装:明确的区分内外,控制外部对隐藏属性的操作行为,隔离复杂度 2 ...

  5. Python多进程操作同一个文件,文件锁问题

    最近工作当中做了一个项目,这个项目主要是操作文件的. 在操作耗时操作的时候,我们一般采用多线程或者多进程.在开发中,如果多个线程需要对文件进行读写操作,就需要用到线程锁或者是文件锁. 使用fcntl ...

  6. openssl dhparam(密钥交换)

    openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html openssl dhparam用于生成和管理dh文件.dh(Diffie-H ...

  7. MySQL中间件之ProxySQL(8):SQL语句的重写规则

    返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.为什么要重写SQL语句 ProxySQL在收到前端发送来的SQL语 ...

  8. sql server 获取自增列下一个值或者获取指定表的主键值

    IDENT_CURRENT('TableName')为当前的最大标识值, IDENT_INCR('TableName')为设置的标识值增量, 两者相加即为下一个标识值 如: SELECT IDENT_ ...

  9. springmvc和structs2的区别

    1.从安全性角度分析spring mvc和struts2的区别: spring mvc:controller 1.spring mvc 默认controller是单实例(通过注解@Scope(“pro ...

  10. [转]bitcoin: 通过 rpc 请求节点数据

    本文转自:https://laravel-china.org/index.php/articles/8919/bitcoin-requests-node-data-through-rpc 文章来自本人 ...