栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用键在LinkedHashMap中获取键/值的位置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用键在LinkedHashMap中获取键/值的位置

HashMap
通常,的实现是无序的
Iteration

linkedHashMap
predictablely
订购
Iteration
(插入顺序),但不公开的
List
接口和
linkedList
(这是镜子按键插入顺序)不跟踪指数本身无论是位置,这是非常的高效的找到索引为好。在
linkedHashMap
不暴露所述参考内部
linkedList
任一。

实际的 “链接列表” 行为是特定于实现的。有些人可能实际上使用了

linkedList
许多实例,而这些实例只是
Entry
跟踪上一个和下一个,
Entry
并将其用作其实现。在不查看源代码的情况下不要承担任何责任。

KeySet
包含该键不保证顺序以及由于用于继承的后备数据结构放置的散列算法
HashMap
。所以你不能使用它。

做到这一点的唯一方法,而无需编写您自己的实现,就是

Iterator
使用镜像来遍历,
linkedList
并保留您的位置,这对于大数据集将是非常低效的。

这听起来像是您想要的 原始插入顺序索引位置
,您将不得不

KeySet
像中那样镜像键
ArrayList
,使其与的更新保持同步,
HashMap
并使用它来查找位置。创建的子类
HashMap
,比如说
IndexedHashMap
并在
ArrayList
内部添加一个
.getKeyIndex(<K>key)
,然后添加一个委派给内部的类
ArrayList
.indexOf()
,可能是解决此问题的最佳方法。

这是什么

linkedHashMap
,但使用而不是进行
linkedList
镜像。
KeySet``ArrayList



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496728.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号