Więc mam klasę, którą zrobiłem, którą chciałem móc sortować. Aby to zrobić, po prostu zaimplementowałem interfejs kolekcji, aby mógł być użyty w klasie Kolekcje.Czy jest możliwe zaimplementowanie zarówno ListIterator, jak i kolekcji w java?
Teraz zauważyłem, że sama klasa jest po prostu przeskokiem, pomijaniem i odsunięciem od ListIteratora i byłoby miło, gdyby zaimplementował ten interfejs również (patrząc w przyszłość na tę). Jest tylko jeden problem, chociaż, i to, że istnieje konflikt pomiędzy interfejsem metoda interfejsu Collection i ListIterator:
// from the Collection interface:
public boolean add(E someElement);
// from the ListIterator interface:
public void add(E someElement);
Czy to możliwe, że jedna klasa zgodne z obu interfejsach? Jeśli nie, czy oznacza to, że te dwa interfejsy wzajemnie się wykluczają?
Najpierw zadam sobie pytanie, dlaczego czujesz, że potrzebujesz obu. Jeśli kolekcja robi to, czego potrzebujesz, po co dodawać dodatkowe wymagania ListIterator? Zawsze staram się nie komplikować kodu, chyba że mam powód funkcjonalny. – Kurtymckurt
To będzie grupa list, której użyję całkiem sporo w tym zadaniu, i widzę w przyszłości możliwość potrzebnego ListIteratora z tego. Rozwiązaniem, które stworzyłem, było wykonanie metody, która zwróciła ListIterator danych. Nie jest to najbardziej zgrabne rozwiązanie, ale rozwiązanie nie ma sobie równych ... –
Czy nie byłoby dobrym pomysłem rozszerzenie klasy 'AbstractList'? Możesz rzucić okiem na implementacje 'ArrayList',' LinkedList' i jak rozwiązują ten sam problem. – soufrk