gpt4 book ai didi

java - 从 Google Collections 中查找 Multiset 中的前 N ​​个元素?

转载 作者:搜寻专家 更新时间:2023-10-30 20:02:22 25 4
gpt4 key购买 nike

A Google Collections Multiset是一组元素,每个元素都有一个计数(即可能出现多次)。

我无法告诉你我想要执行以下操作多少次

  1. 制作直方图(完全是多重集)
  2. 从直方图中获取前N个元素

示例:前 10 个 URL(按 # 次提及)、前 10 个标签(按 # 次应用)、...

给定 Google Collections Multiset,执行 #2 的规范方法是什么?

Here是一篇关于它的博客文章,但该代码并不是我想要的。首先,它返回所有内容,而不仅仅是前 N 个。其次,它复制(是否有可能避免复制?)。第三,我通常想要确定性排序,即如果计数相等则抢七。其他细节:它不是静态的,等等。

最佳答案

我编写了具有您要求的基本功能的方法,除了它们执行复制并且缺乏确定性的打破平局逻辑。它们目前在 Google 内部,但我们可能会在某个时候将它们开源。这个 Guava issue有方法签名。

他们的算法类似于博文:对条目列表进行排序。使用更好的 selection algorithm 会更快,但也更复杂.

编辑:从 Guava 11 开始,这是 implemented

关于java - 从 Google Collections 中查找 Multiset 中的前 N ​​个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3029151/

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