java集合之Map

Posted jiangjunwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合之Map相关的知识,希望对你有一定的参考价值。

1.   Map集合之基础增删查等功能

 1 public class Demo1_Map {
 2 
 3     /*
 4      * Map集合是以键值对的形式存在,底层依赖的是set集合
 5      * 
 6      * a. 添加功能
 7      *         V put(K key, V value)
 8      *             如果键是第一次存入,则就直接存储元素,返回null  (其实本质是和键存在是一样的,只是覆盖的null)
 9      *             如果键不是第一次存入,就用值把以前的替换掉,返回以前的值
10      * b.  删除功能
11      *         void clear()   移除所有的键值信息
12      *      V remove(Object key)   删除指定键对应的元素值,并把值返回,当所传的键值不存在时就返回null
13      * c.  判断功能
14      *         boolean containsKey(Object key)  判断集合中是否包含此键
15      *         boolean containsValue(Object value)  判断集合是否包含指定的值
16      *         boolean isEmpty()     判断集是否为空
17      * d.  获取功能
18      *         Set<Map.Entry<K,V>> entrySet()
19      *         V get(Object key)  根据键获取值
20      *         Set<K> keySet()    获取集合中所有键的集合
21      *         Collection<V> values()    获取集合中所有值的集合,返回一个Conllection
22      * e.  长度功能
23      *         int size()   返回集合中所有键值对的个数   
24      * 
25      */
26     public static void main(String[] args) {
27 
28         //demo1();
29         //demo2();
30         //demo3();
31         Map<String, Integer> map = new HashMap<>();
32         Integer i1 = map.put("张三", 23);
33         Integer i2 = map.put("李四", 24);
34         Integer i3 = map.put("王五", 25);
35         Integer i4 = map.put("赵六", 26);
36         Integer i5 = map.put("张三", 26);
37         Set<Entry<String, Integer>> set = map.entrySet();
38         System.out.println(set);               //[李四=24, 张三=26, 王五=25, 赵六=26]
39         System.out.println(map.values());      //[24, 26, 25, 26]
40         
41      }
42 
43     /**
44      * 判断功能
45      */
46     public static void demo3() {
47         Map<String, Integer> map = new HashMap<>();
48         map.put("lisi", 24);
49         boolean b1 = map.containsKey("lisi");   
50         System.out.println(b1);                 //true
51         boolean b2 = map.containsValue(24) ;  
52         System.out.println(b2);                 //true
53     }
54 
55     /**
56      * 删除功能
57      */
58     public static void demo2() {
59         Map<String, Integer> map = new HashMap<>();
60         map.put("李四", 24);
61         Integer i = map.remove("张三");    
62         System.out.println(i);        //null
63         Integer i1 = map.remove("李四");
64         System.out.println(i1);       //24
65     }
66 
67     /**
68      * 添加功能
69      */
70     public static void demo1() {
71         Map<String, Integer> map = new HashMap<>();
72         Integer i1 = map.put("张三", 23);
73         Integer i2 = map.put("李四", 24);
74         Integer i3 = map.put("王五", 25);
75         Integer i4 = map.put("赵六", 26);
76         Integer i5 = map.put("张三", 26);
77         System.out.println(map);
78         System.out.println(i1);
79         System.out.println(i2);
80         System.out.println(i3);
81         System.out.println(i4);
82         System.out.println(i5);
83     }
84 
85 }

2.  遍历Map集合

 1 public class Demo2_Map {
 2 
 3     /**
 4      * @param args
 5      * 遍历map集合
 6      * 
 7      */
 8     public static void main(String[] args) {
 9 
10         Map<String, Integer> map = new HashMap<>();
11         map.put("张三", 23);
12         map.put("李四", 24);
13         map.put("王五", 25);
14         map.put("赵六", 26);
15         
16         /*
17           使用迭代器进行遍历Map集合
18         Set<String> set = map.keySet();
19         Iterator<String> it = set.iterator();
20         while (it.hasNext()) {
21             String key = it.next();
22             System.out.println(key + "=" + map.get(key));
23         }*/
24         
25         
26         //使用增强for循环进行遍历Map集合
27         for (String string : map.keySet()) {
28             System.out.println(string + "=" + map.get(string));
29         }
30     }
31 
32 }

 

以上是关于java集合之Map的主要内容,如果未能解决你的问题,请参考以下文章

Java 之 JDK9 对集合添加的优化

Java之Map集合

java之map接口

java集合类源码分析之Map

JAVA 基础之容器集合(Collection和Map)

Java之集合