Map是将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值,只允许包含一个null键值。
Set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2)
的元素对 e1
和 e2
,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。
//Map接口,K为键值,V为值对象
public interface Map<K,V> {
int size();//返回元素个数
boolean isEmpty();//判断是否为空
boolean containsKey(Object key);//判断是否包含对应的键key
boolean containsValue(Object value);//判断是否包含值value
V get(Object key);//返回键值key对应的值
V put(K key, V value);//添加元素,元素为(key,value)
V remove(Object key);//按key删除元素
void clear();//清空Map
Set<K> keySet();//返回Map的键集合
Collection<V> values();//返回Map的值集合
Set<Map.Entry<K, V>> entrySet();//返回Map的实体集合
//Map内部集合,对应Map中的一个元素
interface Entry<K,V> {
K getKey();//返回key
V getValue();//返回值
V setValue(V value);//修改key对应的值
boolean equals(Object o);//比较元素
int hashCode();
}
boolean equals(Object o);
int hashCode();
}
//Set接口,继承了Collection接口,包括的方法和Collection接口类似
public interface Set<E> extends Collection<E> {
int size();
boolean isEmpty();
boolean contains(Object o);
Iterator<E> iterator();
Object[] toArray();
<T> T[] toArray(T[] a);
boolean add(E e);
boolean remove(Object o);
boolean containsAll(Collection<?> c);
boolean addAll(Collection<? extends E> c);
boolean retainAll(Collection<?> c);
boolean removeAll(Collection<?> c);
void clear();
boolean equals(Object o);
int hashCode();
}