Если бы подходило equals()
, я мог бы порекомендовать некоторые "стандартные" классы / методы коллекций. На самом деле, я думаю, что ваш единственный вариант будет либо
копировать каждый элемент в другой список после первой проверки всех предшествующих элементов в исходном списке на наличие дубликатов; или
удалить из вашего списка любой элемент, для которого вы нашли дубликат в предыдущем месте. Для удаления из списка лучше всего использовать LinkedList
, где удаление не так дорого.
В любом случае проверка на наличие дубликатов будет операцией O (n ^ 2), увы.
Если вы собираетесь выполнять много подобных операций, возможно, стоит заключить элементы списка в другой класс, который возвращает хеш-код на основе ваших собственных определенных критериев.