Typy parametryzowane
Marcin Orchel
1 Wstęp
Tematy poruszane na zajęciach:
1. type parametryzowane (generics)
2 Zadania
2.1 Zadania na laboratorium
• Napisać klasę sparametryzowaną ThreeObject<E,F,G>, przechowującą 3 obiekty typów E, F, G. Klasa powinna posiadać odpowiedni konstruktor i gettery, klasa implementuje IThreeObject.
• Napisać implementację IUniqueList<T>, która będzie listą bez duplikatów, im- plementacja może być opakowaniem zwykłej listy, i wyrzucać wyjątek IllegalArgu- mentException, gdy chcemy dodać element, który już istnieje w liście
• pokazać za pomocą pluginu bytecode, że parametry typów nie występują w byte- code
• klasa ThreeObject powinna przechodzić testy ThreeObjectTest
• klasa UniqueList powinna przechodzić testy UniqueListTest
• uzupełnić klasę z testami UniqueListTest
2.2 Zadania dodatkowe
1. • napisać implementację ISortedList<T>, przechowującą posortowane elemen- ty. Implementacja dowolna, np. w metodzie add można wyszukać pozycję dodania za pomocą wyszukiwania binarnego.
2. • Napisać implementację ISortedValuesMap<K,V> przechowującą elementy po- sortowane po wartości.
• Klasa SortedValuesMap powinna przechodzić testy SortedValuesMapTest
• uzupełnić klasę z testami SortedValuesMapTest
1