我对Multiset的理解是一个有频率的集合,但我总是可以使用Map来表示频率,还有其他原因使用Multiset吗?
发布于 2012-01-14 16:41:12
Multiset<E>相对于Map<E, Integer>的优势
count(E),add(E, int)等。Multiset<E>显然将元素映射到它们的计数。Map<E, Integer>可以将元素映射到任意整数。另请参阅:
Multiset explained in the Guava Wiki
发布于 2012-01-14 23:03:08
对我来说,Multiset区别于Map的最重要的一点是它是一个Collection:你只需要把东西放进去,然后你就可以得到计数了。从概念上讲,它适合Map所不能满足的用例。对于这些用例,Map只是一种可以正常工作的hack,因为Java没有提供更合适的东西。
https://stackoverflow.com/questions/8860770
复制相似问题