备选列表数据结构

时间:2017-02-13 16:50:55

标签: java android list data-structures

我目前有List个对象。通过以下方式删除对象:

if (mProducts.contains(orderProduct)) {
   mProducts.remove(orderProduct);
   .
   . 

然而List的javadoc状态

  

从此{@code List}中删除指定对象的第一个匹配项。

我需要从列表中删除给定的对象,而不仅仅是第一个对象。这里的正确方法是什么?我可以提供自己的List.remove实现或使用替代数据结构吗?

谢谢, Otterman

1 个答案:

答案 0 :(得分:1)

在Java中,List使用equals()作为其包含和删除(Object o)方法,如所述here

在其中一个答案评论中,还指出Java使用引用比较作为默认值。

也许您可以覆盖产品的equals()方法以获得您想要的效果。