Map接口中定义的方法

  1 package maptest;
  2 
  3 import org.junit.Test;
  4 
  5 import java.util.*;
  6 
  7 /**
  8  * Map接口中定义的方法:
  9  * 添加、删除、修改操作:
 10  * Object put(Object key,Object value):将指定的key-value添加到(或修改)当前map对象中
 11  * void putAll(Map m):将m中的所有key-value对存放到当前的map中
 12  * Object remove(Object key):移除指定key的key-value对,并返回value
 13  * void clear():清空当前map中的所有数据
 14  *
 15  * 元素查询的操作:
 16  * Object get(Object key):获取指定key对应的value
 17  * boolean containsKey(Object key):是否包含指定的key
 18  * boolean containsValue(Object value):是否包含指定的value
 19  * int size():返回map中key-value对的个数
 20  * boolean isEmpty():判断当前map是否为空
 21  * boolean equals(Object obj):判断当前map和参数对象是否相等
 22  *
 23  * 元视图操作的方法:
 24  * Set keySet():返回所有key构成的Set集合
 25  * Collection values():返回所有value构成的Collection集合
 26  * Set entrySet():返回所有key-value对构成的Set集合
 27  *
 28  * @author FuJingchao
 29  * @Date: 2021/12/23 - 20:33
 30  */
 31 public class MapFucTest {
 32 
 33     //添加、删除、修改操作:
 34     @Test
 35     public void test1(){
 36         Map map = new HashMap();
 37         map.put("AA",123);
 38         map.put("BB",24);
 39         map.put("CC",24);
 40         map.put("AA",12);//体现的是修改操作
 41         map.put("EE",3);
 42         System.out.println(map);//{AA=12, BB=24, CC=24, EE=3}
 43 
 44         Map map1 = new HashMap();
 45         map1.put("FF",55);
 46         map1.put("BB",33);
 47         map.putAll(map1);//map1中的 "BB" 的value替换了map中的 "BB" 的value
 48         System.out.println(map);//{AA=12, BB=33, CC=24, EE=3, FF=55}
 49 
 50         //移除
 51         Object bb = map.remove("BB");
 52         System.out.println(bb);//33
 53         System.out.println(map);//{AA=12, CC=24, EE=3, FF=55}
 54 
 55         //清除
 56         map1.clear();
 57         System.out.println(map1.size());//0
 58 
 59 
 60     }
 61     //元素查询的操作
 62     @Test
 63     public void test2(){
 64         Map map = new HashMap();
 65         map.put("AA",123);
 66         map.put("BB",24);
 67         map.put("CC",24);
 68         map.put("AA",12);//体现的是修改操作
 69         map.put("EE",3);
 70         System.out.println(map);//{AA=12, BB=24, CC=24, EE=3}
 71 
 72 //        System.out.println(map.get("AA"));//12
 73         System.out.println(map.get("GG"));//null
 74 
 75         System.out.println(map.containsKey("GG"));//false
 76         System.out.println(map.containsValue(123));//false
 77 
 78         map.clear();//把里面的数据清除,但new的对象仍然存在
 79         System.out.println(map.isEmpty());//true
 80 
 81     }
 82 
 83     //元视图操作的方法
 84     /*
 85      * Set keySet():返回所有key构成的Set集合
 86      * Collection values():返回所有value构成的Collection集合
 87      * Set entrySet():返回所有key-value对构成的Set集合
 88      */
 89     @Test
 90     public void test3(){
 91         Map map = new HashMap();
 92         map.put("AA",123);
 93         map.put("BB",24);
 94         map.put("CC",24);
 95         map.put("AA",12);//体现的是修改操作
 96         map.put("EE",3);
 97 
 98         //遍历所有的key集:
 99 //        Set set1 = map.keySet();
100 //        Set set = set1;
101 //        Iterator iterator = set.iterator();
102 
103 //        while (iterator.hasNext()){
104 //            System.out.println(iterator.next());
105 //        }
106 //        for (Object obj: set) {
107 //            System.out.println(obj);
108 //        }
109 
110         //遍历所有的value集:
111         Collection values = map.values();
112         Iterator iterator1 = values.iterator();
113         while (iterator1.hasNext()){
114             System.out.println(iterator1.next());
115         }
116 
117         //遍历键值对
118         //方式一:entrySet()
119         Set entrySet = map.entrySet();//entrySet集合中的元素都是entry
120         Iterator iterator = entrySet.iterator();
121         while (iterator.hasNext()){
122             Object obj = iterator.next();
123             Map.Entry entry = (Map.Entry) obj;
124             System.out.println(entry.getKey()+"--->"+entry.getValue());
125         }
126         System.out.println("***********************");
127         //方式二
128         Set keySet = map.keySet();
129         Iterator iterator2 = keySet.iterator();
130         while (iterator2.hasNext()){
131             Object key = iterator2.next();
132             Object value = map.get(key);
133             System.out.println(key+"--->"+value);
134         }
135     }
136 
137 
138 }

 

posted @ 2021-12-23 22:16  橘猫的夏天  阅读(87)  评论(0编辑  收藏  举报