Структура данных альтернативного списка
У меня сейчас есть List
объектов. Удаление объекта осуществляется через:
if (mProducts.contains(orderProduct)) {
mProducts.remove(orderProduct);
.
.
Тем не менее, Javadocs для List
состояния
Удаляет первое вхождение указанного объекта из этого {@code List}.
Мне нужно удалить данный объект из списка, а не только первый объект. Какой правильный подход здесь? Могу ли я предоставить собственную реализацию List.remove или использовать альтернативную структуру данных?
Спасибо, Оттерман
1 ответ
Решение
В Java List использует метод equals() для своего метода contains и remove(Object o), как указано здесь
В одном из комментариев к ответу также указано, что Java по умолчанию использует сравнение ссылок.
Возможно, вы можете переопределить метод equals() для ваших продуктов, чтобы получить то, что вы хотите.