`
JinLoveJava
  • 浏览: 23078 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许.总之有三条:

阅读更多
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value

分享到:
评论

相关推荐

    java程序员面试题

    HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类...

    HashMap与HashTable和HashSet的区别

    `HashTable`是基于哈希表实现的一个线程安全的`Map`容器,它不允许`key`或`value`为`null`。`HashTable`内部使用了一个`Entry`数组来存储键值对,通过计算键值对的哈希码确定元素在数组中的位置。当需要添加元素时,...

    Hashtable的使用

    - **允许`null`值**:`HashMap`允许一个`null`键和多个`null`值,而`Hashtable`都不允许。 - **迭代器遍历顺序**:`HashMap`的迭代器遍历顺序是不确定的,`Hashtable`也一样。 总结,`Hashtable`是Java中一个基础且...

    租车面试题答案

    * HashMap 和 Hashtable 的区别:HashMap 允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。 3. Java 字符串操作: * String 和 StringBuffer 的区别:String 类提供了不可改变的字符串,而 ...

    Java 实例 - 遍历 HashTable 的键值源代码+详细教程.zip

    遍历`HashTable`通常有两种方法:一种是通过` Enumeration`接口,另一种是使用Java 5及以上版本引入的`Iterator`接口。 1. **使用`Enumeration`遍历**: `HashTable`提供两个方法,`keys()`返回键的枚举对象,`...

    HashMap底层原理.pdf

    Node[] table是HashMap的核心,它是一个Node数组,数组的每一个元素都是一个Node对象,每个Node对象可以包含一个key-value键值对。Node是HashMap的内部类,它实现了Map.Entry,V>接口。 HashMap的扩容机制在JDK 1.8...

    HashMap 的底层原理Java系列2021.pdf

    此外,Hashtable不允许存储null键和null值,而HashMap可以。在新版本的Java中,通常推荐使用ConcurrentHashMap来代替Hashtable,因为后者提供了更好的并发性能。 总结: 通过阅读HashMap的底层原理,我们可以了解到...

    Java题目基础面试资料.doc

    HashMap 允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。 JSP(Java Server Pages)是一种基于 Java 的动态网页技术。JSP 共有九种基本内置组件:request、response、pageContext、session、...

    基于HashMap遍历和使用方法(详解)

    4. null键值:HashMap可以接受null键值,而Hashtable不能。 5. 迭代器:HashMap的迭代器是fail-fast的,而Hashtable的enumerator不是fail-fast的。 三、HashMap的特点 1. HashMap是Map接口的子类,是将键映射到值...

    Map集合的继承关系图.pdf

    Map集合是一个非常重要的部分,它是以键值对(key-value pairs)的形式存储数据的接口。Map接口在java.util包中,并且提供了将键映射到值的对象。这些键不能重复,每个键最多映射到一个值。Map集合不是Collection的...

    Java大数据面试常见问题.docx

    HashMap 允许将 Null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。HashMap 把 Hashtable 的 contains 思路方法去掉了,改成 containsValue 和 containsKey,因为 contains 思路方法容易让人引起误解。...

    实例5 哈希表(Hashtable)和枚举器

    哈希表(Hashtable)是Java中的一个核心数据结构,它基于键值对(key-value pair)的概念,提供了高效的存储和查找功能。在Java标准库中,`java.util.Hashtable`类实现了可存储任意对象的键值对容器。这个类自Java ...

    java中map集合的用法.pdf

    - `Hashtable`:同步,不允许null键和null值,是古老的遗留类。 - `ConcurrentHashMap`:线程安全,适用于多线程环境。 7. **Map的视图**: - `entrySet()`:返回所有键值对的Set视图,可用于迭代所有元素。 - ...

    HashMap源码分析

    `HashMap`允许存储键值对,并且支持使用`null`作为键或值,这与`Hashtable`有所不同,后者不允许键或值为`null`。`HashMap`通过散列表来存储数据,这种设计使得在大多数情况下,其插入、删除和查找操作的时间复杂度...

    Java大数据面试常见问题.pdf

    HashMap 允许将 Null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。HashMap 把 Hashtable 的 contains 思路方法去掉了,改成 containsValue 和 containsKey,因为 contains 思路方法容易让人引起误解。 ...

    农业银行Java基础面试题.pdf

    HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsValue和containsKey。因为contains方法容易让人引起误解。 3. public、private、...

    常用的类和方法1

    3. `HashTable`:线程同步,确保多线程环境下的安全性,但写入速度较慢,key和value都不能为null。 4. `LinkedHashMap`:元素按照插入顺序进行读取,稍慢于HashMap,key和value都可以为null。 `Map`的基本操作包括...

    JAVA知识点复习模板.doc

    HashMap 允许将 null 作为一个 entry 的 key 或者 value。 八、finalize 方法 finalize 方法是在对象被垃圾回收前调用的方法,用于释放对象占用的资源。finalize 方法的调用是由垃圾回收器来决定的,不是由程序员...

    Java高频面试题汇总(精华版).pdf

    - **HashMap**: 允许一个`null key`和多个`null value`。当`key`为`null`时,其总是被放置于`table`数组的第一个位置。 - **ConcurrentHashMap**: 不允许`key`或`value`为空。 ##### 4. 扩容方式 - **Hashtable**:...

    sesvc.exe 阿萨德

    如果是个链表,就需要将当前的 key、value 封装成一个新节点写入到当前桶的后面(形成链表)。 接着判断当前链表的大小是否大于预设的阈值,大于时就要转换为红黑树。 如果在遍历过程中找到 key 相同时直接退出遍历...

Global site tag (gtag.js) - Google Analytics