java - java中的ArrayList,只执行一次操作

标签 java arraylist

出于某种原因,我在这个问题上画了一个空白。我有一个包含 CD 的 ArrayList(其中一些名称相同),我想打印一个字符串来告诉我每张 CD 有多少张。例如,字符串“您有:(1) AlbumOne、(2) AlbumTwo、(1) AlbumThree”等。CD 未排序。我怎样才能做到这一点?

最佳答案

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

Map<YourObject, Integer> counter ...

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

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

关于java - java中的ArrayList,只执行一次操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630559/

相关文章:

JAVA:HashMap<String, ArrayList> - 如何关联值?

java - 使用 JMenuItem 选择 JTabbedPane 面板

java - 单独的流口水规则还是有更多的结果?

java - 使用 Tuple(double,int,int) 的数组列表比两个数组列表慢

Java:从显示 ArrayList 的 Stringbuffer 中删除括号和逗号

java - 在堆栈的 ArrayList 中,如果堆栈为空,为什么索引不正确?

java - 使用 JAXB marshal 添加/修改 XML 文件中的元素

java - 堆栈跟踪中包含 Lombok 构建器的异常

java - Kafka 中消息的大小开销是多少?

java - ArrayList 和 EnsureCapacity,奇怪的行为