Fork me on GitHub

二十.Map集合

前言

在这里我们只是将以下Map集合的用法,并不深入底层去讲解,至于底层,还是请移步Java提高

Map接口

现实生活中,我们经常需要成对存储某些信息。比如,我们使用的微信,一个手机号只能对应一个微信账户。这就是一种成对存储的关系。

Map就是用来存储“键(key)-值(value) 对”的。 Map类中存储的“键值对”通过键来标识,所以“键对象”不能重复

Map 接口的实现类有HashMap、TreeMap、HashTable、Properties等。

Map接口中常用的方法

image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**
* @author RickYinPeng
* @ClassName Test_06_HashMap
* @Description 测试HashMap的使用
* @date 2019/1/23/9:22
*/
public class Test_06_HashMap {

public static void main(String[] args) {
Map<Integer,String> map = new HashMap<>();

map.put(1,"one");
map.put(2,"two");
map.put(3,"three");

/**
* 根据key获取map中的值
*/
String one = map.get(1);
System.out.println(one);

/**
* 获取map的大小
*/
System.out.println(map.size());

/**
* 判断map是否为空
*/
System.out.println(map.isEmpty());
/**
* 判断map中是否包含指定的key
*/
System.out.println(map.containsKey(2));
/**
* 判断map中是否包含指定的值
*/
System.out.println(map.containsValue("three"));


Map<Integer,String> map2 = new HashMap<>();
map2.put(4,"四");
map2.put(5,"五");

/**
* 将整个 map2 中的键和值全部放入 map 中
*/
map.putAll(map2);

System.out.println(map);

/**
* map中的键不能重复;如果重复(是否重复是根据 equals 方法来判断的),则新的值覆盖旧的值
*/
map.put(3,"三");
System.out.println(map);

/**
* map中的值重复,则不影响结果
*/
map.put(6,"三");
System.out.println(map);

}
}