文章 2024-06-27 来自:开发者社区

《ArrayList & HashMap 源码类基础面试题》面试官们最喜欢问的ArrayList & HashMap源码类初级问,你都会了?

一、ArrayList源码类问题 ArrayList初始容量以及扩容机制是怎样的?初始化的时候,使用无参构造,创建的数组是空数组,没有长度,是在第一次放入元素,才会进行第一次扩容,第一次扩容的大小为 10 个 ,后面加入元素超过10个,会进行1.5 的扩容,也就是10个->15个。Java8优化后,实际操作是int newCapacity = oldCapacity +...

文章 2024-04-24 来自:开发者社区

面试官上来就让手撕HashMap的7种遍历方式,当场愣住,最后只写出了3种

写在开头 今天有个小伙伴私信诉苦,说面试官上来就让他手撕HashMap的7种遍历方式,最终只写出3种常用的,怀疑面试官是在故意刁难。这个问题大家怎么看? 反正我个人感觉这肯定不是刁难,“手撕遍历方式” 算是一个比较简单的考验方式了,而且集合的遍历又是日常开发的必备!至于要一下写出7种,...

面试官上来就让手撕HashMap的7种遍历方式,当场愣住,最后只写出了3种
文章 2024-04-24 来自:开发者社区

耗时3天写完的HashMap万字解析,争取一篇文章讲透它,面试官看了都直点头!

写在开头 在过去的几篇博客中,我们已经将Collection下的三大接口(List,Set,Queue)学了一遍,那么今天我们即将开启Java中另一大集合类型-Map。 所谓的Map:指的是使用键值对(key-value)存储,类似于数学上的函数 y=f(x),"x" 代表 key,"y" 代表 value,key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到...

耗时3天写完的HashMap万字解析,争取一篇文章讲透它,面试官看了都直点头!
文章 2023-10-20 来自:开发者社区

面试官:JDK1.8 HashMap扩容rehash算法是如何优化的?

大家好,我是三友~~ 本文跟大家聊一聊一个常见的面试题,那就是JDK1.8 HashMap扩容rehash算法是如何优化的? 众所周知HashMap的底层其实是一个数组,既然是一个数组,必然长度是固定的,也就一定存在扩容的问题。在JDK1.7的时候,是将数组扩容为两倍,然后将HashMap中所有的key重新进行hash寻址算法然后再放入到扩容后的新的数组的新的位置。 但是从JDK1.8之后...

面试官:JDK1.8 HashMap扩容rehash算法是如何优化的?
文章 2023-08-25 来自:开发者社区

这21个刁钻的HashMap面试题,我把阿里面试官吊打了

1:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transient Node<K,V>\[\] table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry接口)实现,HashMap ....

文章 2023-04-21 来自:开发者社区

什么啊?面试官还在问HashMap了,老知识点了啊

HashMap为什么经常被面试官问到,但是经常被面试官问趴下怎么办?哈,原理我不知道?笑话!不就是一个hash加一个map嘛,多简单啊? 答:利用key的hashCode重新hash计算出当前对象的元素在数组中的下标,存储到数组里面就行了,底层就是数组嘛! 然后面试官说了句:好的,我知道了,回去听消息吧!这种答复并不是面试官想要看到的,想要听到程序员有自己的理解和分析优化!客官,来,1.7源码!....

什么啊?面试官还在问HashMap了,老知识点了啊
文章 2023-04-17 来自:开发者社区

面试官:怎么删除 HashMap 中的重复元素?第 3 种实现思路,99% 的人不会!

List 和 Map 元素的删除、去重,这些都是工作中经常遇到的问题,一些基础程序员可能会走一些弯路,所以栈长输出了三篇,希望对大家有用,其中一些编程技巧很多老程序员也没用过,所以,技术真的是学无止境。今天栈长带来集合的删除及去重系列的最后一篇,如何删除 HashMap 中的重复元素,即怎么根据 Value 去重,去除 HashMap 中 Value 重复的元素,这也是面试官可能会问到的。为什么....

文章 2023-04-17 来自:开发者社区

面试官:怎么删除 HashMap 中的元素?我一行代码搞定,赶紧拿去用!

这篇就分享下如何删除 HashMap 中的元素吧!PS: 这仅是我个人掌握的实现方案,不一定全,也不一定是最优的,欢迎大家分享,杠精勿扰。HashMap 删除元素方案假设有以下数据:public Map<String, String> initMap = new HashMap<>() {{ put("user1", "张三"); put("user2",...

文章 2023-04-17 来自:开发者社区

彻底理解 HashMap 及 LinkedHashMap,面试官请随便问!(1)

来源:https://blog.csdn.net/fuzhongmin05/article/details/104355841下面基于JDK 1.8的源码来学习HashMap及LinkedHashMap的数据结构、原理。不同JDK版本之间也许会有些许差异,但不影响原理学习,JDK8相比以前对HashMap的修改比较大。1、HashMap概述Map是 Key-Value键值对映射的抽象接口,该映射....

彻底理解 HashMap 及 LinkedHashMap,面试官请随便问!(1)
文章 2023-04-17 来自:开发者社区

彻底理解 HashMap 及 LinkedHashMap,面试官请随便问!(3)

1.7 HashMap的线程不安全所有人都知道HashMap是线程不安全的,我们应该使用ConcurrentHashMap。但是为什么HashMap是线程不安全的呢?首先需要强调一点,HashMap的线程不安全体现在会造成死循环、数据丢失、数据覆盖这些问题。其中死循环和数据丢失是在JDK1.7中出现的问题,在JDK1.8中已经得到解决,然而1.8中仍会有数据覆盖的问题,即在并发执行HashMap....

彻底理解 HashMap 及 LinkedHashMap,面试官请随便问!(3)

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