Java中的HashMaps - 索引与否

问题描述 投票:-3回答:3

问题:我们在java中使用的HashMap(Map)是否已编入索引?如果它被编入索引,你能简单解释一下吗?

java dictionary hashmap set
3个回答
1
投票

尝试使用LinkedHashMap而不是HashMap,它通过插入来命令元素。参考:Java - get index of key in HashMap?


1
投票

HashMap包含键值对。每个密钥只能存在一次。

您无法使用索引获取值,但需要使用该方法

 HashMap.get()

可以在这里找到一个体面的教程:https://beginnersbook.com/2013/12/hashmap-in-java-with-example/


1
投票

HashMaps是哈希表的实现。所有Classes都继承自Object类的hashCode()函数用于理想地生成唯一的整数。 hashCode整数用于将对象值映射到一个位置,假设低冲突,搜索时间为O(1)。如果hashCode()函数很差并且为HashMap中的许多键生成相同的值,则搜索时间可能会降低(一旦Map中的条目数超过加载因子和当前容量的乘积,HashMap就会自动重新组合) 。

从某种意义上说,HashMaps被编入索引,这就是它们的良好性能。但是,它们没有以您从索引获取项目的方式编制索引,并且HashMap类不能确保保留订单;你将需要使用LinkedHashMap

© www.soinside.com 2019 - 2024. All rights reserved.