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();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值