Map集合
基本概念
java.util.Map<K,V>
接口中存放元素的基本单位是:单对元素 (键值对)
K - 用于描述键(Key)的类型
V - 用于描述值(Value)的类型
该接口的主要实现类:HashMap类 和 TreeMap类
该接口中key(键)不允许重复,而且每个key(键)能且只能对应一个Value(值)
常用方法V put(K key, V value)
用于将key和value组成一对放入当前集合中
若实现增加功能则返回null;若实现修改功能则返回原来的value.
boolean containsKey(Object key)
用于判断当前集合中是否存在参数指定的key
boolean containsValue(Object value)
用于判断当前集合中是否存在参数指定的value
V get(Object key)
用于根据参数指定的key返回对应的value,若key不存在则返回null
V remove(Object key)
用于根据参数指定的key来删除键值对,返回该key对应的value
Set<Map.Entry<K,V>> entrySet()
用于将Map集合转换为Set集合,集合中的每个元素都是键值对
- 其中Map.Entry是接口类型,常用方法有:
- K getKey() 用于获取键值对中的键
- V getValue() 用于获取键值对中的值
Set<K> keySet()
用于将Map集合中的所有键放入Set集合中并返回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
66
67
68//Map集合各种方法的使用
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TestHashMap {
public static void main(String[] args) {
//1.声明Map类型的引用指向实现类的对象,形成多态
Map<String, String> m1 = new HashMap<String, String>();
//2.向Map集合中添加元素并打印
m1.put("1", "one");
m1.put("2", "two");
m1.put("3", "three");
System.out.println("m1 = " + m1); //输出{1=one, 2=two, 3=three}
//3.查找Map集合中是否拥有指定的key以及指定的value并打印
boolean b1 = m1.containsKey("4");
System.out.println("b1 = " + b1); //false
b1 = m1.containsKey("1");
System.out.println("b1 = " + b1); //true
b1 = m1.containsValue("eleven");
System.out.println("b1 = " + b1); //false
b1 = m1.containsValue("three");
System.out.println("b1 = " + b1); //true
System.out.println("--------------------------------------");
//4.根据参数指定的key返回对应的value,若不存在则返回null
String str1 = m1.get("5");
System.out.println("str1 = " + str1); //null
str1 = m1.get("2");
System.out.println("str1 = " + str1); //two
//5.实现集合中元素的删除
String str2 = m1.remove("10");
System.out.println("str2 = " + str2); //null
System.out.println("m1 = " + m1); //{1=one, 2=two, 3=three}
str2 = m1.remove("1");
System.out.println("str2 = " + str2); //one
System.out.println("m1 = " + m1); //{2=two, 3=three}
//6.实现Map集合中所有元素的遍历
//方式一:调用toString()方法可以实现遍历
System.out.println("m1 = " + m1); //{2=two, 3=three}
//方式二:调用entrySet()方法可以实现遍历
//实现Map集合向Set集合的转换
Set<Map.Entry<String,String>> s1 = m1.entrySet();
//使用for each结构来打印Set集合中的所有元素
for(Map.Entry<String,String> me : s1){
//System.out.println(me);
System.out.println(me.getKey() + "=" + me.getValue());
}
//方式三:调用keySet()方法可以实现遍历
//实现Map集合中所有的key转换为Set集合
Set<String> s2 = m1.keySet();
//使用for each结构打印Set集合中的所有元素
for(String ts : s2){
System.out.println(ts + "=" + m1.get(ts));
}
}
}
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!