Map集合

1、是什么

  键值对(双列)集合,一个元素有两个值,每个元素叫键值对象;键不能重复;

2、子类

  HashMap(重点,面试高频):无序,不重复,无索引;基于哈希表的数据结构,保证键的唯一;线程不安全,效率高。允许Null键和Null值;

    LinkedHashMap:添加的元素按照元素键有序,不重复;是Map接口的哈希表和链表实现;

  Hashtable(基本不用):线程安全,效率低。不允许Null键和Null值;

  TreeMap:键是红黑树结构,保证键的唯一和有序;

  扩展1:HashMap和Hashtable的区别?

      Hashtable:线程安全,效率低。不允许Null键和Null值;

      HashMap:线程不安全,效率高。允许Null键和Null值;

3、常用方法

#添加功能
V put (K key ,V value);

#删除功能
void clear( );
V remove(Object key);

#判断功能
boolean containsKey(Object key);
boolean containsValue(Object value);
boolean isEmpty( );

#获取功能
Set<Map.Entry<K,V>> entrySet( );//转为Set集合,遍历可以一次获取键值对
V get(Object key);
Set<K> keySet( );
Collection<E> vakues( );

#长度功能
int size( );

 

posted @ 2020-03-18 19:27  门虫不是虫  阅读(79)  评论(0编辑  收藏  举报