Итак, у меня есть класс, который я создал, который хотел бы сортировать. Для этого я просто реализовал интерфейс коллекции, чтобы его можно было использовать в классе Collections.Возможно ли реализовать как ListIterator, так и коллекцию в java?
Теперь я заметил, что сам класс - это просто прыжок, пропустить и перейти от ListIterator, и было бы неплохо, если бы он реализовал этот интерфейс (смотря в будущее на этом). Существует одна проблема, хотя, и это то, что есть способ конфликт между интерфейсом интерфейса Collection и ListIterator:
// from the Collection interface:
public boolean add(E someElement);
// from the ListIterator interface:
public void add(E someElement);
Можно ли иметь один класс соответствует обоим интерфейсам? Если нет, значит ли это, что эти два интерфейса являются взаимоисключающими?
Я бы сначала спросил себя, почему вы чувствуете, что вам нужны оба. Если коллекция делает то, что вам нужно, зачем добавлять дополнительные требования ListIterator? Я всегда стараюсь не усложнять код, если у меня нет функциональной причины. – Kurtymckurt
Это будет группа списков, которую я буду использовать в этой работе совсем немного, и я вижу в будущем возможность извлечения ListIterator из нее. Решением, которое я создал, было создание метода, который возвращал ListIterator данных. Не самое изящное решение, но решение все-таки ... –
Не было бы хорошей идеей расширить класс AbstractList. Вы можете взглянуть на реализации 'ArrayList',' LinkedList' и как они решают одну и ту же проблему. – soufrk