Zaimplementuj kolekcje przechowującą elementy w kolejności rosnącej wraz z metodami (lub własciwosciami) dodania elementu, pobrania elementu (z jego usunięciem) oraz wypisania wszystkich elementów. Przyjmij, ze przy pobieraniu elementu pobierany jest zawsze najmniejszy. Załóż, ze elementy przechowywane w tej kolekcji musza implementować interfejs umożliwiajacy porównywanie elementów (może to być standardowy interfejsComparable<T>).
Zaimplementuj również dowolna hierarchie klas implementującą interfejs Comparable<T> (lub inny zaproponowana przez Ciebie), zawierająca przynajmniej cztery klasy. Może to być np. hierarchia klas reprezentująca stopnie wojskowe bądz klasy reprezentujące najważniejsze stanowiska Rzeczpospolitej Polskiej (wynik porównania ma odzwierciedlać tzw. precedencje).
Zwróć uwagę, aby implementacja tej hierarchii klas przestrzegała zasady otwarte–zamknięte, tj. aby można było dodać klasę (np. reprezentująca nowy stopień wojskowy) implementujaca Comparable<T> bez konieczności zmiany implementacji w pozostałych klasach.
Niestety kompletnie nie rozumiem treści zadania. Co ja konkretnie mam zaimplementować? Listę dwukierunkową przechowującą dowolne typy, czyli np. class Lista<T> { ... } ?