我对Multiset的理解是一个有频率的集合,但是我总是可以使用Map来表示频率,还有其他理由使用Multiset吗?
Are*_*rff 32
Multiset<E>超过a的优点Map<E, Integer>:
count(E),add(E, int),等.Multiset<E>显然将元素映射到它们的计数.A Map<E, Integer>可以将元素映射到任意整数.也可以看看:
对我来说,那将是最重要的一点,Multiset从分开Map的是,它是一个Collection:你只要把东西进去以后,你可以得到计数.它在概念上适合其设计的用例Map.对于那些用例,a Map只是一种有点排序的hack,因为Java没有提供更合适的东西.