章节七、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);
} }

允许结果为:

章节七、5-Maps

二、如何取出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);
} }

允许结果为:

章节七、5-Maps

三、键是唯一的不可重复,值是可以重复的

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);
} }

允许结果为:

章节七、5-Maps

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",键相同,值覆盖):

章节七、5-Maps

三、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

上一篇:章节七、4-Sets


下一篇:Android学习之基础知识十四 — Android特色开发之基于位置的服务