繁体   English   中英

获取guava多重集中元素的实例数而不进行迭代

[英]get the number of instances of an element in a guava multiset without iterating

我在guava中有一个multiset,我想检索一个给定元素的实例数而不迭代这个multiset(我不想迭代因为我认为迭代需要相当长的时间,因为它查看了所有的集合)。

为此,我首先考虑使用multiset的entryset()方法来获取具有单个实例及其相应计数的集合。 然后,将此集转换为hashmap(其中keys是我的set的元素,值是它们的实例计数)。 因为那时我可以使用hashmap的方法直接从其键中检索一个值 - 完成! 但这只有在我能够快速地将集合转换为散列图(没有迭代所有元素)时才有意义:是否可能?

(正如我所说的,我希望这个问题在多个方面存在缺陷,如果你能说明我在这里可能犯的概念错误,我会很高兴。谢谢!)

只需在你的multiset上调用count(element) - 瞧!

您可能知道Guava Multiset是一个界面,而不是一个类。

如果您只想知道元素的重复数,请调用Multiset.count(Object element)

请忘记我的以下声明:

然后,如果您使用流行的实现HashMultiset ,则已经有HashMap<E, AtomicInteger>在场景下工作。 也就是说,当HashMultiset迭代时,HashMap也会迭代。 无需转换为另一个HashMap。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM