出于某种原因,我在这个问题上画了一个空白。我有一个包含 CD 的 ArrayList(其中一些名称相同),我想打印一个字符串来告诉我每张 CD 有多少张。例如,字符串“您有:(1) AlbumOne、(2) AlbumTwo、(1) AlbumThree”等。CD 未排序。我怎样才能做到这一点?
最佳答案
一种方法是循环遍历数组,并使用一个将对象用作键、将值用作计数的映射。所以
Map<YourObject, Integer> counter ...
当您循环遍历数组时,对数组中当前对象的计数器执行 get
操作。如果得到 null,则将映射中该存储桶的值初始化为 1。如果有值,则递增它。然后您可以循环遍历 map 以获取读数。
请注意,如果您使用Hashmap
,您的对象必须正确实现hashcode
和equals
方法。您不必使用您的对象,如果它有键或其他一些区分字段,则映射中的键可以是...
关于java - java中的ArrayList,只执行一次操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630559/