gpt4 book ai didi

java - 如何从HashMap中获取一些随机键

转载 作者:行者123 更新时间:2023-12-01 16:42:19 25 4
gpt4 key购买 nike

我有一张带有标题的 map 。我想从我的 HashMap 中打印 10 个随机键。

例如,我的 map (字符串,对象)包含 100 对:“A,new Object(...)”,“B,...”,“C,...”等。

我想从这张 map 中获取 10 个随机键并将其附加到一个字符串中。

所以我的字符串应该是这样的:“A\nD\nB”。

最佳答案

不重复获取随机 10 个键的快速方法是将键放入列表中,然后使用 Collections.shuffle 来随机播放列表。

Map<String, Object> map = ...yourmap
ArrayList<String> keys = new ArrayList<>(map.keySet());
Collections.shuffle(keys);
List<String> randomTenKeys = keys.subList(0, 10);

创建所有键的列表并对其进行打乱并不是您可以做的最有效的事情。您可以使用 reservoir sampling 一次性完成此操作。算法。我没有研究过它,但您可能可以在某些 Apache 或 Guava 库中找到实现。

关于java - 如何从HashMap中获取一些随机键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61086200/

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