java数据结构,用于计算相等项的频率
我需要像HashSet
这样的数据结构
- 不应将同一项添加到集合中
- 但与其添加同一项,不如计算添加该项的次数李>
据我所知HashSet
首先计算hashCode
,如果hashCode
相同,它会检查equals
方法,如果为true,则它不会添加一个项,否则具有相同hashCode
但另一个equals
的项将添加到bucket链表中
我需要做的是只保留像Set
那样的唯一对象,但只使用equals
方法,如果对象等于与每个对象关联的递增计数器
是否已经实现了这样的数据结构,或者我应该创建自己的数据结构
# 1 楼答案
最简单的方法(没有依赖项)是使用} ,它有一个
HashMap<Element, Integer>
。或者您可以使用Guava的^{count(Object)
方法来获取集合中某个对象的出现次数# 2 楼答案
看来你真正需要的是一张地图。对于每一件物品,你都可以得到物品的数量