由于某种原因,我为此画了一个空白。我有一个包含CD的ArrayList(其中一些名称相同),并且我想打印一个字符串,告诉我每个CD有多少个。例如,一个字符串,上面写着“您具有:(1)AlbumOne,(2)AlbumTwo,(1)AlbumThree”等)。这些CD没有排序。我怎样才能做到这一点?

最佳答案

一种方法是循环遍历数组,并使用将对象作为键并将值作为计数的映射。所以

Map<YourObject, Integer> counter ...


当您遍历数组时,在计数器上对数组中的当前对象执行get。如果得到null,则将映射中该存储桶的值初始化为1。如果有值,则将其递增。然后,您可以在地图上循环以获取读数。

请注意,如果使用Hashmap,则对象必须正确实现hashcodeequals方法。您不必使用对象,如果它具有键或其他一些区别字段,则地图中的键可以是...

09-11 19:20
查看更多