`
icomparator
  • 浏览: 18580 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Hashtable、HashMap、HashSet的用法与区别

 
阅读更多
他们的区别:
    HashTable和HashMap是Map接口的实现类,其中HashTable的键或值不能为null,HashMap的键或值可以为null;
HashTable是线程安全的,HashMap是线程不安全的,因此HashMap的效率要比HashTable高。

HashSet是Set接口的实现类,它里面的元素都是无序的。
 
HashMap,HashTable
用法:
Map map=newHashMap();或者HashMap map=newHashMap();
map.put("A","a");---->设置键A的值为a
map.put("B","b");---->设置键B的值为b
取值:
for(Object obj : map.keySet()){
   System.out.print(obj+":"+map.get(obj)+"   ");
}
输出结果: A:a   B:b
HashTable的用法与HashMap一样
******************************************
HashSet:
用法:
Set set = new HashSet();或者HashSet set = new HashSet();
set.add("a");----->添加一个a
set.add("b");----->添加一个b
取值:
for(Object obj : set){
  System.out.print(obj+"  ")
}
输出结果:a  b
*****************************************************************
分享到:
评论

相关推荐

    HashMap与HashTable和HashSet的区别

    ### HashMap与HashTable和HashSet的区别 #### 一、概述 在Java集合框架中,`HashMap`, `HashTable` 和 `HashSet` 是三个重要的数据结构,它们分别实现了`Map`接口和`Set`接口,提供了不同的功能来满足不同的编程...

    HashMap底层实现原理HashMap与HashTable区别HashMap与HashSet区别.docx

    与HashSet的区别在于,HashSet是基于HashMap实现的集合类,用于存储唯一对象。HashSet中的元素没有顺序,添加元素时,HashSet会将元素转化为键放入HashMap中。因此,HashSet的插入和查找速度与HashMap相当,但由于...

    Java集合专题总结:HashMap 和 HashTable 源码学习和面试总结

    Java集合专题总结:HashMap和HashTable源码...本文总结了HashMap和HashTable的源码学习和面试总结,涵盖了它们的存储结构、构造方法、get和put方法的源码分析、Hash表的特点和缺点、HashTable和HashMap的区别等内容。

    Java中HashMap和Hashtable及HashSet的区别

    在Java编程语言中,`HashMap`、`Hashtable`和`HashSet`都是集合框架的重要组成部分,分别用于存储键值对和不重复元素。下面将详细解释它们之间的区别。 首先,`Hashtable`是`Map`接口的一个早期实现,它提供了一个...

    浅析Java中Map与HashMap,Hashtable,HashSet的区别

    `HashSet`则是实现了`Set`接口,它不包含重复的元素,也没有顺序,但与`HashMap`和`Hashtable`不同,它不存储键值对,而是直接存储元素。`HashSet`的底层实现也依赖于`HashMap`,每个元素在`HashSet`中被视为一个键...

    Hashtable和HashMap的区别:

    ### Hashtable与HashMap的区别详解 #### 一、基本概念与历史背景 在Java编程语言中,`Hashtable` 和 `HashMap` 都是用来存储键值对的数据结构。这两种数据结构虽然相似,但是在实现细节上存在显著差异。 1. **...

    HashTable和HashMap的区别_动力节点Java学院整理

    什么是HashSet? HashSet实现了Set接口,它不允许集合中有重复的值,当我们提到HashSet时,第一件事情就是在将对象存储在HashSet之前,要先确保对象重写equals()和hashCode()方法,这样才能比较对象的值是否相等,以...

    java中HashMap,LinkedHashMap,TreeMap,HashTable的区别

    ### Java中HashMap, LinkedHashMap, TreeMap,HashTable的区别 在Java编程语言中,`Map`接口是集合框架中的一个重要组成部分,用于存储键值对。本文将详细分析四种常用的`Map`实现类:`HashMap`, `LinkedHashMap`, ...

    Java中List、ArrayList、Vector及map、HashTable、HashMap分别的区别.

    与HashMap相比,HashTable的同步特性使得它在多线程环境下更安全,但在单线程环境下,由于同步开销,其性能较低。 5. LinkedList与ArrayList的比较 LinkedList是List接口的另一个实现,它基于双向链表实现,对于在...

    对java基础集合部分(List、HashMap、HashSet、ArrayList等)底层源码的分析与总结

    HashMap不是线程安全的,如果需要线程安全的Map,可以使用Hashtable。 LinkedHashMap与HashMap类似,但保持了插入顺序或访问顺序。TreeMap使用红黑树,保证了键的排序。 总的来说,理解这些集合的底层实现对于优化...

    hashmap面试题_hashmap_

    4. HashMap与Hashtable的区别? 答:HashMap非线程安全,而Hashtable是线程安全的;HashMap允许null键值,Hashtable不允;HashMap迭代器在修改时不会抛出ConcurrentModificationException,而Hashtable会。 5. ...

    HashMap 概述 精讲 .md

    - **HashMap和HashTable的区别**:列举HashMap和HashTable的主要区别。 - **HashMap和HashSet的区别**:解释HashMap和HashSet之间的区别。 - **扩容机制**:HashMap是如何进行扩容的? - **长度限制**:解释为什么...

    阿里巴巴电话面试试题.doc

    2. Hashtable:Hashtable 是 Java 集合框架中的一种哈希表实现,与 HashMap 类似,但 Hashtable 是同步的,每个方法都是 synchronized,这使得 Hashtable 比 HashMap 更加安全,但同时也带来了性能开销。 3. HashSet...

    Java集合框架源码剖析:HashSet 和 HashMap

     之所以把HashSet和HashMap放在一起讲解,是因为二者在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也是说HashSet里面有一个HashMap(适配器模式)。因此本文将重点分析HashMap。  HashMap实现了Map...

    深入解读大厂java面试必考点之HashMap全套学习资料

    - HashMap和Hashtable的区别? - HashMap与HashSet的关系? - 如何解决哈希冲突? - 如何自定义键的哈希码生成方式? - 如何避免和处理HashMap中的循环链表? 通过深入学习和理解这些知识点,你将能够在面试中自信...

    求职宝典-Java 基础面试题

    HashMap和HashTable是Java中两种常用的基于哈希表的数据结构,它们的主要区别如下: 1. **父类不同**:HashMap继承自AbstractMap类,而HashTable继承自Dictionary类。AbstractMap是Map接口的一个抽象实现,提供了...

    一些java面试经验pdf

    7. **HashMap与Hashtable、HashSet、TreeMap的区别**: - HashMap与Hashtable:HashMap非线程安全,而Hashtable是线程安全的,但性能较低,不推荐在现代Java中使用。 - HashMap与HashSet:HashMap存储键值对,...

    Java集合面试题全集

    #### 八、HashMap与Hashtable、HashSet、TreeMap的区别 - **HashMap与Hashtable**: - `HashMap`非线程安全,而`Hashtable`线程安全。 - `HashMap`允许键和值为`null`,而`Hashtable`不允许。 - **HashMap与...

    java中集合的用法与区别.docx

    Hashtable与HashMap类似,但它是线程安全的,不接受null键值。HashMap是非同步的,允许null键和null值。LinkedHashMap保持了元素的插入顺序,WeakHashMap允许弱引用键,当键不再被引用时,键值对会自动移除。...

    各容器与迭代器的用法.pdf

    在处理数据的进出顺序上,Vector和ArrayList遵循先进先出(FIFO)原则,而Hashtable和HashMap则是后进先出(LIFO),这与它们的实现方式有关。例如,当使用`remove()`方法时,最后一个添加的元素会被首先移除。 ...

Global site tag (gtag.js) - Google Analytics