30.4 Map HashMap

本文将会讲解到:

Map和Collection的对比

Map接口的使用,实现类HashMap的使用

/*
* 需求:实现学号和姓名这样有对应关系的数据存储
* 为了体现这种有对应关系的数据,我们使用以前所学的内容是可以实现的,但是略有不便,所以java又给我买提供了一种专门用于存储对应关系的集合,Map
*
* Map:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值 (键值对,键不能重复
*
* Map和Collection有什么区别?
* Map:是一个双列集合,常用语处理有对应关系的数据,key是不可以重复的,我们也称之为是夫妻对集合
* Collection:是单列集合,Collection有不同的子体系,有的允许重复有索引有序,有的不允许重复而且无序,那么我们也称之为单身汉集合
*
* 一对一:一个学号对应一个姓名
*
*/

/*
* Map的常用功能:
* 映射功能:
* V put(K key, V value)
* 获取功能:
* V get(Object key)
* int size()
* 判断功能:
* boolean containsKey(Object key)
boolean containsValue(Object value)
boolean isEmpty()

* 删除功能:
* void clear()
* V remove(Object key)
*
* 遍历功能:
* Set<Map.Entry<K,V>> entrySet()
*
*
* Set<K> keySet() 获取所有key
* Collection<V> values() 获取所有value

*/

public class MapDemo2_增删改查 {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();

        //key值是唯一的,不可重复。如果key重复则会覆盖之前的kv
        map.put("test001","zhangsan");
        map.put("test002","lisi");
        map.put("test003","wangwu");
//        map.clear();//清空所有的对应关系
        System.out.println(map.size());
        System.out.println(map);

        Set<String> set = map.keySet(); //获取所有的key,key不可重复所以是set形式
        System.out.println(set);

        System.out.println(map.get("test003"));//根据key获取value

        System.out.println(map.remove("test001"));//根据key删除kv对
        System.out.println(map);

       /* System.out.println(map.containsKey("test001")); //判断k是否存在
        System.out.println(map .containsValue("lisi"));//判断V是否存在
        System.out.println(map.isEmpty());//判断对应关系是否为空*/
    }
}

输出

原文地址:https://www.cnblogs.com/longesang/p/11287583.html