Структура данных альтернативного списка

У меня сейчас есть List объектов. Удаление объекта осуществляется через:

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

Тем не менее, Javadocs для List состояния

Удаляет первое вхождение указанного объекта из этого {@code List}.

Мне нужно удалить данный объект из списка, а не только первый объект. Какой правильный подход здесь? Могу ли я предоставить собственную реализацию List.remove или использовать альтернативную структуру данных?

Спасибо, Оттерман

1 ответ

Решение

В Java List использует метод equals() для своего метода contains и remove(Object o), как указано здесь

В одном из комментариев к ответу также указано, что Java по умолчанию использует сравнение ссылок.

Возможно, вы можете переопределить метод equals() для ваших продуктов, чтобы получить то, что вы хотите.

Другие вопросы по тегам