HashMap和Hashtable的区别
答案:
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
答案:
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
发表评论
-
下面有关系统并发访问数估算数据那个最有效_JAVA面试题及答案
2013-01-06 15:00 0下面有关系统并发访问数估算数据那个最有效: A. 高峰时 ... -
在UML提供的图中用于按时间顺序描述对象间的交互_JAVA面试题及答案
2013-01-06 14:55 0在UML提供的图中,( )用于按时间顺序描述对象间的交互。 ... -
操作系统具有进程管理_存储管理_文件管理和设备管理的功能_JAVA面试题及答案
2013-01-06 14:53 0操作系统具有进程管理、存储管理、文件管理和设备管理的功能,在以 ... -
Linux的rm命令_JAVA面试题及答案
2013-01-06 14:50 0在Linux中,你使用mkdir命令创建一个临时文件夹/tmp ... -
以下哪些不是javascript的全局函数_JAVA面试题及答案
2013-01-06 14:36 0以下哪些不是javascript的全局函数() A. e ... -
当客户端关闭一个从连接池中获取的连接, 会发生下面哪一种情况_JAVA面试题及答案
2013-01-06 14:33 0当客户端关闭一个从连接池中获取的连接, 会发生下面哪一种情况? ... -
下列哪一个选项按照顺序包括了OSI模型的七个层次_JAVA面试题及答案
2013-01-06 14:31 0下列哪一个选项按照顺序包括了OSI模型的七个层次:( ) ... -
Oracle中VARCHAR2类型的最大长度是_JAVA面试题及答案
2013-01-06 14:28 0Oracle中VARCHAR2类型的最大长度是: A. ... -
评估下面的一组SQL语句_JAVA面试题及答案
2013-01-06 14:27 0评估下面的一组SQL语句: CREATE TABLE dept ... -
要想在你的视图上成功的执行查询需要做什么_JAVA面试题及答案
2013-01-06 14:22 0要想在你的视图上成功的执行查询需要做什么? A. 只能在 ... -
LDAP是什么_JAVA面试题及答案
2013-01-06 14:20 0LDAP是什么? A. 是一种开源产品 B. 是一种编程 ... -
一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈得输出序列的是_JAVA面试题及答案
2013-01-06 14:12 0一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈得 ... -
在Java中,负责对字节代码解释执行的是_JAVA面试题及答案
2013-01-06 14:10 0在Java中,负责对字节代码解释执行的是 A. 应用服 ... -
JSP中动态INCLUDE与静态INCLUDE的区别_JAVA面试题及答案
2013-01-06 11:44 0JSP中动态INCLUDE与静态INCLUDE的区别? 答案 ... -
MVC的各个部分都有那些技术来实现?如何实现_JAVA面试题及答案
2013-01-06 11:32 0MVC的各个部分都有那些技术来实现?如何实现? 答案: MV ... -
开发中都用到了那些设计模式?用在什么场合_JAVA面试题及答案
2013-01-06 11:30 0开发中都用到了那些设计模式?用在什么场合? 答案: MVC模 ... -
一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制_JAVA面试题及答案
2013-01-06 11:29 0一个“.java”源文件中是否可以包括多个类(不是内部类)?有 ... -
烧一根不均匀的绳,从头烧到尾总共需要1个小时.现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢_JAVA面试题及答案
2013-01-06 11:26 0烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质 ... -
下面哪个方法与applet的显示无关_JAVA面试题及答案
2013-01-06 10:54 0下面哪个方法与applet的显示无关? 1、update() ... -
介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)_JAVA面试题及答案
2013-01-06 10:52 0介绍JAVA中的Collection FrameWork(包括 ...
相关推荐
HashMap和HashTable底层原理以及常见面试题 HashMap和HashTable是Java中两个常用的数据结构,都是基于哈希表实现的,但它们之间存在着一些关键的区别。本文将深入探讨HashMap和HashTable的底层原理,并总结常见的...
java面试题精讲视频MP4Java面试题11.HashMap和HashTable的区别提取方式是百度网盘分享地址
Java面试题11.HashMap和HashTable的区别.mp4
总结,HashMap是Java编程中的基础工具,掌握其工作原理和常见面试题,不仅能帮助我们应对面试,更能提升在实际开发中的问题解决能力。深入理解HashMap,有助于我们更好地利用数据结构,提高代码的执行效率。
在Java面试中,常常会涉及到一系列核心概念和技术,这些知识点对于成为一名优秀的Java程序员至关重要。以下是对一些常见面试题目的详细解答: 1. **final, finally, finalize的区别** - `final`:这是一个修饰符,...
Java面试题11.HashMap和HashTable的区别 Java面试题12.实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? Java面试题14.线程并发库和线程池的作用 Java...
│ Java面试题11.HashMap和HashTable的区别.mp4 │ Java面试题12.实现一个拷贝文件的类使用字节流还是字符串.mp4 │ Java面试题13.线程的实现方式 怎么启动线程怎么区分线程.mp4 │ Java面试题14.线程并发库和线程池...
Java作为一门广泛使用的编程语言...而提供的两个PDF文件,"120个Java经典面试题和答案(上)"和"120个Java经典面试题和答案(下)",无疑是复习和准备面试的宝贵资源,可以系统地解答和理解Java面试中可能出现的问题。
本文总结了Java中级面试题,涵盖了集合、HashMap、HashSet、HashTable、ConcurrentHashMap、红黑树、Java 8对HashMap的优化、LinkedHashMap、TreeMap、IdentityHashMap等知识点。 集合 * List和Set都是继承自...
以下是一些基于题目给出的面试题所涵盖的关键知识点: 一、关于String、StringBuffer和StringBuilder的区别: - String是不可变对象,一旦创建就无法改变,这归因于其final类的特性,提供高效且安全的字符串操作。 ...
### Java面试题及答案(基础题122道) #### 经典题目解析 ##### 题目一:Java基础知识概述 **问题描述**:简述Java语言的基础知识,包括对象值、类与对象的区别。 **解答**: 1. **对象值**:在Java中,对象是指...
HashMap 和 Hashtable 是 Java 中两种常用的哈希表数据结构,它们都是用来存储键值对的数据结构,但它们在设计和实现上有显著的区别。以下是对这两者差异的详细解释: 1. **线程安全性**: - `Hashtable` 是线程...
Java面试题11.HashMap和HashTable的区别 Java面试题12.实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? Java面试题14.线程并发库和线程池的作用 Java...
### Java基础面试题知识点梳理 #### 1. Java基本概念 - **类与对象:** 类是具有相同属性和行为的一组对象的模板或蓝图。对象则是类的一个实例。 - **封装:** 封装是一种将数据(变量)和操作这些数据的方法...
这份"Java面试题以及答案收集"涵盖了13个部分,旨在帮助Java开发者准备面试,增强对Java的理解。 1. **Java基础** - **数据类型**:Java有两大类数据类型——基本数据类型和引用数据类型。了解它们的区别以及各自...
以下是一些基于给定的Java面试题的详细解释和知识点: 1. **Java内存溢出**: 内存溢出通常由Java虚拟机(JVM)中的不同区域使用过多内存引起。例如,` PermGen Space`溢出是因为加载了大量类或jar包;`Java Heap ...
Java编程语言在面试中常常涉及各种技术点,包括序列化、布局管理器、同步机制、集合API、迭代器以及抽象类与接口的区别等。以下是对这些知识点的详细解释: 1. **临时变量(Transient Variable)**: - `transient...
以下是对给定面试题的详细解答: 1. **接口与抽象类的区别**: - **接口(Interface)**:它是一个完全抽象的类型,只包含方法签名(无方法体),不包含字段(除了默认方法和静态方法)。接口用于定义行为规范,一...
以上是Java面试中常见的问题和答案,涵盖了一些核心的概念,如类的继承、异常处理、集合框架以及并发和调试工具的使用。掌握这些知识点对于理解和编写高质量的Java代码至关重要。在实际面试中,面试官可能会深入探讨...
`HashMap`和`Hashtable`都是`Map`接口的实现,但有以下区别: - `HashMap`允许null键和null值,而`Hashtable`不允许。 - `HashMap`是非同步的,效率相对较高,适合单线程环境;`Hashtable`是同步的,适用于多线程...