Also habe ich eine Klasse die ich gemacht habe die ich sortieren wollte. Um dies zu tun, habe ich es einfach die Collection-Schnittstelle implementieren, so dass es in der Collections-Klasse verwendet werden kann.Ist es möglich, sowohl einen ListIterator als auch eine Collection in Java zu implementieren?
Jetzt habe ich bemerkt, dass die Klasse selbst nur ein Sprung ist, überspringen, und ein Sprung weg von einem ListIterator und es wäre nett, sie auch diese Schnittstelle zu implementieren (Blick in die Zukunft auf diesem). Es gibt ein Problem, aber, und das ist, dass es ein Verfahren Konflikt zwischen der Collection-Schnittstelle und ListIterator Schnittstelle ist:
// from the Collection interface:
public boolean add(E someElement);
// from the ListIterator interface:
public void add(E someElement);
Ist es möglich, haben eine Klasse für beide Schnittstellen entsprechen? Wenn nicht, bedeutet das, dass sich diese beiden Schnittstellen gegenseitig ausschließen?
Ich würde zuerst fragen, warum Sie das Gefühl haben, Sie beide brauchen. Wenn die Sammlung das tut, was Sie brauchen, warum sollten Sie die zusätzliche Anforderung von ListIterator hinzufügen? Ich versuche immer, den Code nicht zu komplizieren, es sei denn, ich habe einen funktionalen Grund dafür. – Kurtymckurt
Dies wird eine Listengruppe sein, die ich ziemlich oft in diesem Job verwenden werde, und ich sehe in der Zukunft die Möglichkeit, einen ListIterator daraus zu machen. Die von mir erstellte Lösung sollte eine Methode erstellen, die einen ListIterator der Daten zurückgibt. Nicht die anmutigste Lösung, aber eine Lösung nichtsdestotrotz ... –
Wäre es nicht gut, die 'AbstractList' Klasse eher zu erweitern. Sie können sich "ArrayList", "LinkedList" Implementierungen ansehen und wie sie das gleiche Problem lösen. – soufrk