Quindi ho una classe che ho creato che volevo essere in grado di ordinare. Per farlo ho semplicemente implementato l'interfaccia di raccolta in modo che possa essere utilizzata nella classe Collections.È possibile implementare sia un ListIterator che una Collection in java?
Ora ho notato che la classe stessa è solo un salto, un salto e un salto da un ListIterator e sarebbe bello aver implementato anche quell'interfaccia (guardando al futuro su questo). C'è un problema, però, e cioè che c'è un conflitto tra il metodo di interfaccia di interfaccia di Raccolta e ListIterator:
// from the Collection interface:
public boolean add(E someElement);
// from the ListIterator interface:
public void add(E someElement);
E 'possibile avere una classe conforme a entrambe le interfacce? In caso contrario, significa che queste due interfacce si escludono a vicenda?
Per prima cosa mi chiedo perché pensi di aver bisogno di entrambi. Se la raccolta fa ciò di cui hai bisogno, perché aggiungere il requisito aggiuntivo di ListIterator? Cerco sempre di non complicare il codice a meno che non abbia una ragione funzionale per. – Kurtymckurt
Questo sarà un gruppo di liste che userò un bel po 'in questo lavoro, e posso vedere in futuro la possibilità di averne bisogno da ListIterator. La soluzione che ho creato era quella di creare un metodo che restituisse un ListIterator dei dati. Non la soluzione più aggraziata, ma una soluzione niente-meno ... –
Non sarebbe una buona idea estendere la classe 'AbstractList' piuttosto. Puoi dare un'occhiata alle implementazioni di 'ArrayList',' LinkedList' e come risolvono lo stesso problema. – soufrk