Java:在某种类型的集合中包装对象以在集合

时间:2016-10-25 01:09:37

标签: java duplicates set

我想制作一组某种类型的集合(不确定哪一个)作为一种“存储重复”的方式。例如,如果我想要添加39个额外副本的整数5,我可以将它放入索引39的arraylist中。因此,如果我要获得arraylist的大小,我会知道该集合中存在多少副本5。

我还有其他一些方法可以实现这一点,但我还没有决定一个。我实现这个问题的主要问题是,我不确定如何“动态”制作arraylists(或者我最终可能使用的任何集合),以便每当有人打电话给mySet.add(object)时,对象首先插入一个独特的arraylist然后插入集合本身。

任何人都可以就如何处理这个问题给我一些想法吗?

编辑:

对不起,我的问题应该更清楚了。我写的代码的要点是我们有一个类似集合的集合,允许重复。是的,一些相关的方法将被重写/将不得不重写。另外我的代码应该假设我们不知道插入了什么类型的对象(虽然每组只有一种数据类型),也不知道将添加多少个同一对象的实例,也不会添加多少个不同的唯一对象

2 个答案:

答案 0 :(得分:4)

我更愿意使用Map之类的

HashMap list <Object, Integer>

其中Object是您要计算的对象,Integer是计数

答案 1 :(得分:1)

你可以尝试番石榴的MultiSet,我想这就是你想要的。

它可以存储每个对象的计数。你需要做的只是     multiSet.put(对象); 如果它是第一次使用,就像你说的那样,将创建一个新的列表,或者它的计数将加一个。