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();
}