HashMap 和 HashTable差别】的更多相关文章

代码版本 JDK每一版本都在改进.本文讨论的HashMap和HashTable基于JDK 1.7.0_67.源码见这里 1. 时间 HashTable产生于JDK 1.1,而HashMap产生于JDK 1.2.从时间的维度上来看,HashMap要比HashTable出现得晚一些. 2. 作者 以下是HashTable的作者: 以下代码及注释来自java.util.HashTable * @author Arthur van Hoff * @author Josh Bloch * @author…
 1. HashMap 与 Hashtable继承自不同的类 1) HashMap 继承自AbstractMap,而AbstractMap实现了Map接口 2) Hashtable 继承自Dictionary 2. HashMap可以以null为key,而Hashtable不可以,这点差别源自于两者对于null有不同的处理方式,具体见下面代码: 1) HashMap     (put方法:public V put(K key, V value)) if (key == null) retur…
List:(有序,能够反复)通过下标索引     ----ArrayList  可变数组,随机查找     ----LinkedList    链表,不论什么位置插入删除快     ----Vector    效率比arraylist低.可是能够用于多线程同步 Set:(无序,不能够反复)set最多有一个null元素.由于不能够反复     ----HashSet    没有排序,不反复(顺序随机)     ----LinkedHashSet    按插入排序.不反复(按插入顺序)     --…
集合类之番外篇:深入解析HashMap.HashTable Java集合类是个非常重要的知识点,HashMap.HashTable.ConcurrentHashMap等算是集合类中的重点,可谓“重中之重”,首先来看个问题,如面试官问你:HashMap和HashTable有什么区别,一个比较简单的回答是: 1.HashMap是非线程安全的,HashTable是线程安全的. 2.HashMap的键和值都允许有null值存在,而HashTable则不行. 3.因为线程安全的问题,HashMap效率比H…
http://youzhixueyuan.com/concurrenthashmap.html 一.哈希表 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值. 链式哈希表从根本上说是由一组链表构成.每个链表都可以看做是一个“桶”,我们将所有的元素通过散列的方式放到具体的不同的桶中.插入元素时,首先将其键传入一个哈希函数(该过程称为哈希键),函数通过散列的方式告知元素属于哪个“桶”,然后在相应的链表头插入元素.查找或删除元素时…
集合类之番外篇:深入解析HashMap.HashTable Java集合类是个非常重要的知识点,HashMap.HashTable.ConcurrentHashMap等算是集合类中的重点,可谓"重中之重",首先来看个问题,如面试官问你:HashMap和HashTable有什么区别,一个比较简单的回答是: 1.HashMap是非线程安全的,HashTable是线程安全的. 2.HashMap的键和值都允许有null值存在,而HashTable则不行. 3.因为线程安全的问题,HashMa…
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分期.美团点评等都在1.2--面的时候被问过无数次,都问吐了&_&,其他公司笔试的时候,但凡有Java的题,都有集合相关考点,尤其hash表--现在总结下. 2016-12-15 更新:Java 8 对 HashMap 的改进 2016-12-12 整理jdk 1.8之前的HashMap实现 2…
一.HashMap 和Hashtable 的区别 我们先看2个类的定义 public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable public class HashMap extends AbstractMap implements Map, Cloneable, Serializable 可见Hashtable 继承自 Dictiionary 而 HashMap继承自Abs…
特点:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. Map集合和Collection集合的区别 Map集合:成对出现 (情侣)                                               双列集合 Collection:单个出现  (单身狗)   所以功能才这么多               单列集合 Key:键  Value:值 功能 1.添加功能 V put(K key,V value):添加元素 如果键是第一次存储,就直接存储,…
Hashtable 和 HashMap的比较 1.  HashMap可以接受null(HashMap可以接受为null的键值(key)和值(value), HashTable不可以接受为null的键(key)和值(value) 2.  HashMap是非synchronized的, Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable, sychronized意味着在一次仅有一个线程能够更改Hashtable.就是说任何线程…