• Java SE之Map接口


    这里写图片描述

    图片引自:http://www.cnblogs.com/wuyuegb2312/p/4458468.html

    Map是java中重要的集合框架中的接口,而且在开发者它的子类HashMap使用频率很高;

    一个map不能含有相同的keys,每个key对应至少一个结果;
    这个接口代替Dictionary类这个抽象类。

    map接口提供了三个集合视图,允许一个map的内容被看成是a set of keys, collection of values,or set of key-value mappings. TreeMap使用来保证特殊的顺序,HashMap则不是。

    public interface Map<K,V> {
        /*
         * 返回这个map中key-value的数量;当这个map包含的超过Integer.MAX_VALUE,返回Integer.MAX_VALUE,
         */
        int size();
        //判断是否为null,即没有key-value mappings
        boolean isEmpty();
        //检查是否含有指定的key;当传入的key是null 会报NullPointerException;ClassCastException当传入的key是不恰当的类型对于map来说
        boolean containsKey(Object key);
        //当 这个map中有一个或者多个key对应这个value的时候返回true
        boolean containsValue(Object value);
        //返回指定key所映射的结果,若没有,则返回null
        V get(Object key);
        //放入key-value对;如果以前就放入过key,那么新的value会替代掉旧的value
        V put(K key, V value);
        //移除操作,这是有返回值的。
        V remove(Object key);
        //将传入的map中所有的键值对映射结果复制到当前map中   ;语义不明确的是当在操作过程中,源map进行了修改
        void putAll(Map<? extends K, ? extends V> m);
        //清空map,移除所有的键值对
        void clear();
        //返回key的集合,遍历可用
        Set<K> keySet();
        //返回结果的集合
        Collection<V> values();
        //返回键值Entry的Set集合
        Set<Map.Entry<K, V>> entrySet();
    
        //map中声明的内部接口,利用泛型,它表示map中key-value对的实体
        interface Entry<K,V> {
            K getKey();
            V getValue(); 
            V setValue(V value);
            boolean equals(Object o);
            //每个键值对实体都有自己的hashcode
            int hashCode();
        }
    
        /*
        * 返回true,当传入的对象也是map,且这两个map映射结果相同,m1.entrySet().equals(m2.entrySet());
        */
        boolean equals(Object o);
        /*
        *返回当前map的hash code;这个hashcode定义是:这个map中的entrySet()每个  entry的hashcode的和。这确保了m1.equals(m2)意味m1.hashCode()==m2.hashCode()
        */
        int hashCode();
    }
  • 相关阅读:
    [Javascript] Avoid Creating floats if they are not needed
    App_Offline.htm and working around the "IE Friendly Errors" feature
    uninstall vs extension
    Sample page with dom-if and dom-bind in polymer
    4 classes in Bootstrap Grid system
    Suppress user properties/ custom fields when print in Outlook
    Remove Event Handler via Reflection
    Get the type name of a com object
    Row_Number 生成样本数据
    java运行命令行或脚本
  • 原文地址:https://www.cnblogs.com/Kevin-1992/p/12608424.html
Copyright © 2020-2023  润新知