总结3-3 集合之map

Map接口
Map接口与Collection接口类似,也是一个最大的接口。

1,Map接口与Collection接口的不同;
2,Map与Map.Entry接口的关系;
3,Map接口的常用子类:HashMap、HashTable、TreeMap、WeakHashMap;
4,HashMap与HashTable的区别。

Collection的操作中,每次保存的对象都是一个对象,但是在map中保存的是一对对象,对象的形式是以key–>value的形式保存的。

之前的Collection、List、Set、都属于单值的操作,即每次只能操作一个对象,而Map与他们不同的是,每次操作的是一对对象,
即二元偶对象,map中的每一个元素都是以key—>value的形式存储在集合之中。

Map的定义:

public interface Map<K,V>

Map中的常用方法:

void clear()//清空map集合
    Set<K> keySet()//获取所有的key
    Collection<V> values()//取出全部的value
    Set<Map.Entry<K,V>> entrySet()//将map对象变为set集合
    boolean equals(Object o)//对象比较
    int hashCode()//返回哈希码

    int size()//集合的长度
    boolean isEmpty()//判断集合是否为空
    boolean containsKey(Object key)//判断指定的key是否存在
    boolean containsValue(Object value)//判断指定的value是否存在
    V get(Object key)//根据key获取value
    V put(K key,V value)//向集合中加入元素
    V remove(Object key)//根据key删除value
    void putAll(Map<? extends K,? extends V> m)//将一个map集合中的内容加入到另一个map中

Map.Entry接口:
Map.Entry是Map中内部定义的一个接口,专门用来保存key–>value的内容。
Map.Entry接口定义:

public static interface Map.Entry<K,V>

Map.Entry接口中的常用方法:

boolean equals(Object o)//对象比较
    int hashCode()//返回哈希码
    K getKey()//取得key
    V getValue()//取得value
    V setValue(V value)//设置value值

Map与Map.Entry接口的关系:
Map中存放的其实是一个个的Map.Entry对象,每一个Map.Entry对象是由一个key一个value组成的键值对。

Map接口的常用子类:

·HashMap:有序存放的,是新的操作类,key不允许重复。
    ·HashTable:有序存放的,是旧的操作类,key不允许重复。
    ·TreeMap:可以排序的Map集合,按照集合中的key排序,key不允许重复。
    ·WeakHashMap:弱引用的map集合,当集合中的某些内容不再使用时,可以清除掉无用的数据,可以使用gc进行回收。
    ·IdentifyHashMap:key可以重复的map集合。

可以使用contailsXXX()方法来查找指定的key或者指定的内容是否存在。
如果想输出全部的key,则可以使用如下方法:
Set<K> keySet()这个方法返回的是一个set,则可以使用Iterator迭代输出set。
输出全部的value,使用的方法:

Collection<V> values()

猜你喜欢

转载自blog.csdn.net/jakezhang1990/article/details/80064197
3-3