前言
挑选搜集了12道Java集合相关面试题,这几道考察频率还是非常高的,希望下伙伴复习好
正文
1. hashmap 的数据结构(重点!再次强调)
在 java 编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引
用),所有的数据结构都可以用这两个基本结构来构造的,hashmap 也不例外。
Hashmap 实际上是一个数组和链表的结合体(在数据结构中,一般称之为 “链表散
列 “)
2.HashMap 的工作原理是什么?
Java 中的 HashMap 是以键值对 (key-value) 的形式存储元素的。HashMap 需要
一个 hash 函数,它使用 hashCode()和 equals()方法来向集合 / 从集合添加和检索
元素。当调用 put() 方法的时候,HashMap 会计算 key 的 hash 值,然后把键值
对存储在集合中合适的索引上。 如果 key 已经存在了,value 会被更新成新值。
HashMap 的一些重要的特性是它的容量 (capacity),负载因子 (loadfactor) 和扩容
极限(threshold resizing)。
3. Hashmap 什么时候进行扩容