文章 2023-03-10 来自:开发者社区

Java 最常见面试题:如何决定使用 HashMap 还是 TreeMap?

对于在Map中插入、删除和定位元素这类操作,HashMap是最好的选择。然而,假如你需要对一个有序的key集合进行遍历,TreeMap是更好的选择。基于你的collection的大小,也许向HashMap中添加元素会更快,将map换为TreeMap进行有序key的遍历。

文章 2023-03-10 来自:开发者社区

Java 最常见面试题:HashMap 和 Hashtable 有什么区别?

hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。hashMap允许空键值,而hashTable不允许。

文章 2023-01-18 来自:开发者社区

面试题:说一下HashMap和HashSet的实现原理?

HashMap 的实现原理:HashMap是基于Hash算法实现的,我们通过put(key,value)存储数据,通过get(key)来获取数据当传入key时,HashMap会根据Key.hashCode()计算出Hash值,根据Hash值将value保存在bucket里 ,。当计算出相同的Hash值时,我们称之为Hash冲突,HashMap 的做法是用链表和红黑树存储相同Hash值的value....

文章 2022-12-11 来自:开发者社区

66.Java容器面试题:谈谈你对 HashMap 的理解

66.Java容器面试题:谈谈你对 HashMap 的理解为了能够在面试回答中优雅而不失体面回答面试考点,该文章借鉴了不同平台对知识点的描述。回答HashMap 是一种存取高效但不保证有序的常用容器。它的数据结构为“数组+链表”,是解决哈希冲突的产物,也就是我们常说的链地址法。它实现了Map 接口采用K-V 键值对存储数据,并实现了浅拷贝和序列化。HashMap 的默认初始大小为16,初始化大小....

文章 2022-09-26 来自:开发者社区

【面试题系列】HashMap夺命14问,你能扛到第几问?

1.HashMap的底层数据结构是什么?jdk1.7:底层结构:数组+链表数组是hashMap 的主体,链表主要是为了解决hash冲突存在的jdk1.8:底层结构:数组+链表+红黑树当链表过长,则会严重影响HashMap的性能,红黑树搜索时间复杂度是O(logn),而链表是O(n)。因此,JDK1.8对数据结构做了进一步的优化,引入了红黑树,链表和红黑树在达到一定条件会进行转换:当链表超过8且数....

【面试题系列】HashMap夺命14问,你能扛到第几问?
文章 2022-07-21 来自:开发者社区

【从Java面试题看源码】-HashMap 初始容量 计算方法

HashMap 初始容量 计算方法如果在new HashMap的时候,没有指定初始initialCapacity,则初始initialCapacity为16,负载因子为0.75,下次扩容阈值为 16*0.75=12这个初始容量 不一定等于初始化完成后底层数组实际的容量,因为存在阈值的计算,方法如下;也不是初始容量是多少开始就能存多少个元素,因为存在负载因子,在底层数组还没满的时候就会进行扩容。.....

【从Java面试题看源码】-HashMap 初始容量 计算方法
文章 2022-06-28 来自:开发者社区

【面试题看源码】-HashMap 初始容量 计算方法

HashMap 初始容量 计算方法如果在new HashMap的时候,没有指定初始initialCapacity,则初始initialCapacity为16,负载因子为0.75,下次扩容阈值为 16*0.75=12这个初始容量 不一定等于初始化完成后底层数组实际的容量,因为存在阈值的计算,方法如下;也不是初始容量是多少开始就能存多少个元素,因为存在负载因子,在底层数组还没满的时候就会进行扩容。.....

【面试题看源码】-HashMap 初始容量 计算方法
文章 2022-06-13 来自:开发者社区

两个高频设计类面试题:如何设计HashMap和线程池

好,我是 yes。最近在汇总面试题,但是我写的这个版本不是背诵版,不是那种死记硬背刻板的答案。我的本意是抛砖引玉,针对每个题目给出我自己的理解和解释型的答案,然后背诵版本需要你们自行去总结和记忆。因为八股文在面试中是一定要的,也就是该知道的题还是得知道的,而在理解的基础上记忆会比较深刻,并且可以应对一些变种问题。但是不清楚这样的形式是不是受欢迎,所以我暂时拿两个题目先发出来看看反响。所以如果觉得....

文章 2022-06-13 来自:开发者社区

经典面试题之HashMap(二)

接上文 经典面试题之HashMap(一)三 不考虑内存限制,HashMap可以无限存储数据吗?不可以,HashMap是有最大容量上限的。我们还是来看下源码注释:/** * The maximum capacity, used if a higher value is implicitly specified * by either of the constructors wi...

经典面试题之HashMap(二)
文章 2022-06-13 来自:开发者社区

经典面试题之HashMap(一)

一 HashMap的loadFactor为什么是0.75?先说一下什么是loadFactor :loadFactor即装载因子,装载因子的计算公式是:散列表的装载因子 =  填入表中的元素个数 / 散列表长度,如果有人问你0.75的分子分母是什么,依据这个公式回答就可以了。一般情况下,我们会尽可能保证散列表中有一定比例的空闲槽位。我们用装载因子来表示空位的多少。装载因子越大,说明空闲位....

经典面试题之HashMap(一)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。