容器相关

一.HashMap的实现机制

  1.HashMap是基于哈希表的map接口的非同步实现。HashMap相当于一个数组,数组的每个元素为一个链表。

  2.向HashMap中插入一个Entry时,先计算Key的hashcode,根据hashcode确定Entry在数组中的位置,再根据equals判断是否存在重复元素。查找也类似

  3.HashMap允许Null的K和Null的V。

  4.HashMap初始化时允许指定 数组的初始化大小 和 加载因子。当元素个数>数组*加载因子时,HashMap需要扩容,扩容后需要重新分配元素的位置,性能较差

二.ConcurrentHashMap

  1.HashMap适用于单线程;Hashtable适用于多线程,但性能不高,同一时刻能被一个线程使用

  2.ConcurrentHashMap与Hashtable类似。区别在于,HashTable锁的是整个table,而ConcurrentHashMap锁的是segment(表的一个位置)

三.ArrayList的内部实现

  1.ArrayList是可扩展的数组

  2.ArrayList不适合频繁插入和删除的操作,LinkedList适合

四.容器的基本分类

  Collection:List,按照顺序存储元素;Set,不插入重复元素;Queue,按照队列的方式确定对象产生顺序

  Map:一组成对的<key,value>对象,可以用key查找value

posted @ 2015-05-26 09:50  hwu_harry  阅读(99)  评论(0编辑  收藏  举报