gpt4 book ai didi

java - 在 O(1) 时间内从 java HashMap 获取随机值

转载 作者:行者123 更新时间:2023-12-01 12:48:38 28 4
gpt4 key购买 nike

全部

我已阅读这些链接,

Is there a way to get the value of a HashMap randomly in Java?

Selecting random key and value sets from a Map in Java

在 keySet 和 list.get() 上使用 toArray() 不是一个选项。因为这些方法需要 O(n) 时间。

上述链接中描述的所有方法都采用 O(n) 最坏情况从 HashMap 获取随机值。是否可以在 O(1) 时间内完成此操作?

最佳答案

您可以获取 keySet().iterator().next() 返回的第一个值。它是随机的,但每次都会相同,直到集合发生更改。

唯一的选择是使用反射来获取底层数组并自行导航。

简而言之,HashMap 不是为此目的而设计的。如果您需要这个,请使用其他数据结构。

关于java - 在 O(1) 时间内从 java HashMap 获取随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24437594/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com