`
nannan408
  • 浏览: 1783165 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

架构师面试之---------hashmap和hashset有什么区别

 
阅读更多
1 .前言
  
    很基础的问题,但如果没有准备的话,有可能答不全。
2 .区别
   
   网上说有5点区别,来自http://www.importnew.com/6931.html的说明如下:
*HashMap*	              *HashSet*
HashMap实现了Map接口	        HashSet实现了Set接口
HashMap储存键值对	        HashSet仅仅存储对象
使用put()方法将元素放入map中	使用add()方法将元素放入set中
HashMap中使用键对象来计算hashcode值	HashSet使用成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()方法用来判断对象的相等性,如果两个对象不同的话,那么返回false
HashMap比较快,因为是使用唯一的键来获取对象	HashSet较HashMap来说比较慢


  但笔者认为只有三点比较明显。
(1)接口不一样,一个实现set,一个实现map.
(2)结构不一样,一个存键值对,一个 存对象。
(3)hashmap放的值可能相同,键不一样。hashset值不能相同,但由于hashcode是存在重复的,所以,存放的对象有可能相同。(这个最大大作用是警示我们不能用hashset来对对象去重,而应该用hashmap或者其他hash算法)


 
0
2
分享到:
评论
2 楼 masuweng 2016-07-18  
1 楼 masuweng 2016-07-18  
恩写的很好

相关推荐

    【Java面试资料】-1000道 互联网Java架构师面试题 面试必备神器

    这份名为“【Java面试资料】-1000道 互联网Java架构师面试题 面试必备神器”的压缩包,显然是一份针对Java架构师面试的全面学习资源。其中包含的PDF文档很可能是精心整理的面试问题集,旨在帮助准备Java架构师职位...

    java核心面试知识整理(架构师).pdf

    标题“Java核心面试知识整理(架构师)”表明文档是为Java架构师面试而准备的资料。架构师在应聘时面临的面试题目往往会覆盖Java的基础知识以及更高级的框架和系统设计。文档中提到的标签“架构师 JAVA 机器学习 ...

    Java学习、面试必备

    在本压缩包中,"新手必看"包含了为Java初学者和准备面试者精心整理的学习资源,旨在帮助他们深入理解Java的核心概念并提升面试技能。 1. **Java基础知识** - 类与对象:Java中的所有程序都是由类构建的,对象则是...

    JAVA架构师进阶之路核心知识整理.pdf

    在Java架构师进阶之路上,需要掌握的核心知识点涵盖了编程基础、集合框架、JVM原理、并发编程、框架原理、微服务架构、网络编程以及分布式系统等多个方面。以下是详细的知识点概述: ### 基础知识 Java基础是架构师...

    Java架构面试专题汇总(含答案)和学习笔记.zip

    Java架构面试专题汇总包含了丰富的Java开发和架构设计的知识点,是准备Java架构师面试或提升技术能力的重要资源。这份资料不仅涵盖了基础的Java语法、面向对象设计原则,还深入到高级主题如多线程、并发编程、JVM...

    java架构师面试题1000道

    Java架构师面试题1000道集合涵盖了广泛的话题,旨在测试和提升候选人在Java编程、软件设计、系统架构、性能优化以及项目管理等多个领域的专业技能。以下是一些可能涉及的关键知识点: 1. **Java基础知识**:这包括...

    Java高级开发-架构面试宝典Beta10最新版

    《Java高级开发-架构面试宝典Beta10最新版》是一部专为Java开发者和架构师准备的面试指南,旨在帮助他们提升对Java技术栈的深入理解,并为面试做好充分准备。该资料集聚焦于Java的核心概念、高级特性、设计模式以及...

    1000道 互联网大厂Java工程师面试题.zip

    此外,熟悉Java集合框架,如ArrayList、LinkedList、HashMap、HashSet等的实现原理和应用场景,也是必不可少的。 数据结构和算法是面试的重头戏。链表、栈、队列、堆、树、图等经典数据结构,以及排序(快速排序、...

    java中国各大公司面试笔试上机汇总大合集(上)

    3. **集合框架**:ArrayList、LinkedList、HashMap、HashSet、TreeMap等容器的使用,以及它们之间的区别和选择依据。可能会有实现特定功能的代码题,如实现一个双向链表或集合排序。 4. **多线程**:线程的创建...

    java经典面试题

    以上知识点是针对中高级Java开发人员在架构师面试中经常遇到的问题,考察了应聘者对Java集合框架的熟练程度、SQL语言的掌握、对持久层框架的应用能力以及编写业务逻辑代码的综合能力。回答此类面试题时,应尽量提供...

    1000道 互联网Java工程师面试题 (666).7z

    3. **集合框架**:ArrayList、LinkedList、HashMap、HashSet、TreeMap等的使用和底层实现原理。 4. **数据结构**:数组、链表、栈、队列、堆、二叉树、图等,以及它们在实际问题中的应用。 5. **算法**:排序(冒泡...

    java最全最好学习资料(从初级到高级到架构师).zip

    此外,性能调优、代码审查、测试策略以及持续集成和持续部署(CI/CD)流程也是架构师必备的技能。 这个压缩包可能包含了大量的教程、实战项目、代码示例和面试题,旨在帮助学习者逐步掌握以上所述的所有知识点。...

    JAVA核心知识点整理面试宝典

    Set接口提供了不允许重复元素的集合,具体实现包括HashSet(基于哈希表实现)、TreeSet(基于红黑树实现)以及LinkedHashSet(结合了HashSet和HashMap的特性)。Map接口提供键值对集合,具体实现包括HashMap(基于...

    1_JAVA核心知识点整理.pdf

    - HashSet基于HashMap实现,TreeSet基于红黑树实现,LinkedHashSet则是HashSet和LinkedHashMap的结合。 - HashMap在Java 7和Java 8中的实现略有不同,Java 8引入了红黑树提升性能。 - ConcurrentHashMap是一个...

    JAVA核心面试知识整理

    Set接口表示一个不允许重复的元素集合,HashSet基于HashMap实现,TreeSet基于TreeMap实现,LinkHashSet结合了HashSet和LinkedHashMap。 3.4 MAP Map接口用于存储键值对,HashMap在Java7和Java8中的实现有所不同,...

    JAVA面试题集.rar

    这份"JAVA面试题集"包含了网上广泛讨论的各种Java相关问题,适用于准备Java程序员、Java工程师乃至架构师的面试。无论你是初入职场还是寻求晋升,这份资料都能帮助你巩固基础知识,提升技术水平。以下是根据题目集...

    【面试】Java面试知识卡片大全.zip

    3. **集合框架**:集合框架是Java中非常重要的部分,包括ArrayList、LinkedList、HashSet、HashMap等容器的使用,以及它们的区别和应用场景。面试中可能会涉及到集合的遍历、容量调整、并发安全等问题。 4. **多...

    ceshi nei rong 2

    2. **架构师.docx**:这可能是一个关于架构师角色、职责和技能要求的文档,可能包含如何成为一名优秀的架构师,架构设计的原则,以及架构在软件开发过程中的重要性等内容。它可能会讨论不同的架构模式,如微服务架构...

Global site tag (gtag.js) - Google Analytics