java Map接口源码分析

Map接口:

map接口提供了存储“键值对”的存储方法,在map中,key的值是唯一的,也就是key的值不能重复。

Map源码:

package asdf;

import java.util.*;

/**
 * Created by ping.miao on 2015/8/3.
 * Map接口源码分析
 *
 */
public interface Map<K, V> {
    /**
     *
     * @return 返回当前map的大小
     */
    int size();

    /**
     * 判断当前map是否为空,为空返回true,否则返回false
     * @return true,假如当前map为空
     */
    boolean isEmpty();

    /**
     * 假如当前map存在key与参数给出的key相等,即满足这样条件(key == null ? k == null : key.equals(k)),
     * 返回true,否则返回false
     * @return true,假如当前map存在key与参数给出的key相等
     */
    boolean containsKey(Object key);

    /**
     * 假如当前map存在一个或者多个key值对应的value与参数给出的value相等,即满足这样条件
     * (value == null ? v == null : value.equals(v))返回true,否则返回false
     * @return true,假如当前map存在一个或者多个key值对应的value与参数给出的value相等
     */
    boolean containsValue(Object value);

    /**
     * 返回当前map中key值对应的value,如果map中不包含当前key,则返回null
     * @return 返回当前map中key值对应的value
     */
    V get(Object key);

    /**
     * 向map中插入键值对(key,value),假如当前map中key已经存在,那个更新原有的value,假如不存在则
     * 向map中添加该键值对
     * @return 未添加之前key所对应的value
     */
    V put(K key, V value);

    /**
     * 删除map中的key所在的键值对
     * @return 未删除之前key所对应的value
     */
    V remove(Object key);
    void putAll(Map<? extends K, ? extends V> m);
    void clear();

    /**
     *
     * @return 当前map所有的key值
     */
    Set<K> keySet();

    /**
     *
     * @return 当前map中所有的value
     */
    Collection<V> values();

    /**
     *
     * @return a set view of the mappings contained in this map
     */
    Set<Map.Entry<K, V>> entrySet();
    interface Entry<K,V> {
        /**
         *
         * @return 当前entry中的key
         */
        K getKey();

        /**
         *
         * @return 当前entry中的value
         */
        V getValue();
        V setValue(V value);
        boolean equals(Object o);

        /**
         *
         * @return 当前map entry的hashcode
         */
        int hashCode();
    }
    boolean equals(Object o);

    /**
     *
     * @return map的hashcode
     */
    int hashCode();
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值