java.util.Map接口中常用的方法:
??? 1.Map和Collection没有继承关系
??? 2.Map集合以key和value的方式存储数据:键值对
??????? key和value都是引用数据类型
??????? key和value都是存储对象的内存地址
??????? key起到主导的地位,value是key的一个附属品
??? 3.Map接口中常用的方法:
????? V put(K key,V value)???????????????????????????????? 向Map集合中添加键值对
????? V get(Object key)???????????????????????????????????? 通过key获取value
????? void clear()?????????????????????????????????????????????? 清空Map集合
????? boolean containsKey(Object key)??????????? 判断Map集合中是否包含某个key
????? boolean containsValue(Object value)????? 判断Map集合中是否包含某个value
????? boolean isEmpty()??????????????????????????????????? 判断Map集合中元素个数是否为0
????? Set<k> keySet()?????????????????????????????????????? 获取Map集合所有的key(所有的键是一个set集合)
????? V remove(Object key)????????????????????????????? 通过key删除键值对
????? int size()?????????????????????????????????????????????????? 获取Map集合中键值对的个数
????? Collection<V> values()??????????????????????????? 获取Map集合中所有的value,返回一个Collection
????? Set<Map.Entry<k,v>> entrySet()??????????? 将Map集合转换成Set集合
????? 假设现在有一个Map集合,如下所示:
??????? map1集合对象
??????? key????????????????? value
?——————————————————————
????? 1????????????????????? zhangsan
????? 2????????????????????? lisi
????? 3????????????????????? wangwu
????? 4????????????????????? zhaoliu? --> 这个东西是什么?Map.Entry
?? Set set = map1.entrySet();
?? set集合对象
?? 1=zhangsan 【注意:Map集合通过entrySet()方法转换成的这个Set集合,Set集合中元素的类型是Map.Entry<k,v>】
?? 2=lisi 【Map.Entry和String一样,都是一种类型的名字,只不过:Map.Entry是静态内部类,是Map中的静态内部类】
?? 3=wangwu
?? 4=zhaoliu
public class MapTest01{
?? public static void main(String[] args){
???? //创建Map集合对象
??? Map<Integer,String> map = new HashMap<>();
??? //向Map集合中添加键值对
?? map.put(1,"zhangsan");? //1在这里进行了自动装箱
?? map.put(2,"lisi");
?? map.put(3,"wangwu");
?? map.put(4,"zhaoliu");
?? //通过key获取value
? String value = map.get(2);
? System.out.println(value);
? //获取键值对的数量
? System.out.println("键值对的数量:"+map.size());
?//通过key删除key-value
? map.remove(2);
? System.out.println("键值对的数量:"+map.size());
? //判断是否包含某个key
?//contains方法底层调用的都是equals进行比对的,所以自定义的类型需要重写equals方法
? System.out.println(map.containsKey(4));?? //true
?//判断是否包含某个value
? System.out.println(map.containsValue("wangwu"));? //true
? //获取所有的value
? Collection<String> values = map.values();
? for(String s:value){
??? System.out.println(s);
? }
?//清空map集合
?map.clear();
?System.out.prinltn("键值对的数量:"+map.size());
?//判断是否为空
?System.out.println(map.isEmpty());? //true
? }
?}