【发布时间】:2011-02-08 11:41:31
【问题描述】:
我有一个java.util.ArrayList<Item> 和一个Item 对象。
现在,我想获取Item 存储在arraylist 中的次数。
我知道我可以进行arrayList.contains() 检查,但无论它是否包含一个或多个Items,它都会返回true。
第一季度。如何找到项目在列表中存储的次数?
第二季度。另外,如果列表包含多个项目,那么我如何确定其他项目的索引,因为arrayList.indexOf(item)每次都只返回第一个项目的索引?
【问题讨论】:
-
项目是否覆盖等于和哈希码?他们需要。
-
为什么不扩展 ArrayList 类来添加您需要的附加功能?这就是 OOP 存在的原因;) Q1 可以通过为列表中的每个唯一项目实现一个计数器并在每次添加已经存在的项目时递增它来轻松完成。