欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

面试题:HashMap如何get一个元素?

程序员文章站 2022-06-28 10:17:53
面试题:HashMap如何get一个元素?面试题:HashMap如何get一个元素?题目分析回答面试题:HashMap如何get一个元素?题目分析这一题问的是如何获取HashMap内保存的元素,考察的是HashMap底层原理的掌握。首先要知道,HashMap是如何保存元素的,之后才能够知道如何获取一个元素。回答想要在HashMap中获取Get一个元素,需要传入一个Key。HashMap会计算这个key的哈希值,并对HashMap的容量进行求余,得到以数组的方式保存的数据中,key所对应的位置。...

面试题:HashMap如何get一个元素?

面试题:HashMap如何get一个元素?

题目分析

这一题问的是如何获取HashMap内保存的元素,考察的是HashMap底层原理的掌握。首先要知道,HashMap是如何保存元素的,之后才能够知道如何获取一个元素。

回答

  1. 想要在HashMap中获取Get一个元素,需要传入一个Key。
  2. HashMap会计算这个key的哈希值,并对HashMap的容量进行求余,得到以数组的方式保存的数据中,key所对应的位置。
  3. 获取到HashMap中key所对应的位置之后,判断那个位置保存的的键的哈希值和键是否等于传入的Key,若相等即找到了想要的元素。
  4. 若不相等,表示发生了哈希冲突。需要进一步判断对应位置的对象类型是否为TreeNode,若不是,则表示当前位置保存的是链表,否则,表示当前位置保存的是红黑树。
  5. 若保存的是链表,则从链头开始遍历,直到发现链表中的一个的节点上保存的key等于传入的Key。
  6. 若保存的是红黑树,则从树中查找节点的key等于传入的key。若查找成功,返回节点保存到值,即为查找结果。
  7. 若查找失败,返回null。

本文地址:https://blog.csdn.net/wang465745776/article/details/112007184

相关标签: JAVA 面试