Вы сказали:
... Так как мой список создан на пользовательском объекте, метод removeAll не будет работать для меня.
Как уже говорили другие, .removeAll () должен работать для сценария, который вы описали, даже для пользовательских объектов, если пользовательские объекты подчиняются контрактам, которые Java Collections ожидает от своих объектов, включая должную реализацию equals () и Метод hashCode ().
Я пробовал различные методы, чтобы сделать эту работу: - реализовал equals () и hashCode для пользовательского объекта, составляющего список - реализовал Comparable Interface для пользовательского объекта - реализовал интерфейс Comparator для пользовательского объекта ...
Звучит так, как будто вы стреляете из разных подходов: кодируете один, пробуете его, быстро кодируете другой, пробуете его, кодируете еще один, ... Стоит замедлить ход и попытаться понять, почему каждый подход потерпел неудачу и / или определите, почему этот подход не будет работать в вашей ситуации, прежде чем переходить к следующей. Если вы уже исследовали и определили, почему каждый подход не будет работать, пожалуйста, объясните в своем вопросе. Если вы этого не сделали, сообщите нам об этом, отправив код.
Поскольку большинство людей согласны с тем, что первый подход (.removeall ()) должен работать, и поскольку в него вовлечены пользовательские объекты, почему бы не сделать быстрый обзор этого вопроса StackOverflow, чтобы увидеть, выпрыгивает ли что-нибудь из вас:
Переопределение equals и hashCode в Java
"Какие проблемы / ловушки мне нужно учитывать при переопределении equals и hashCode в классе java?"