Zpo-2-wyk-Slajd3

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Historia

Historia


Kolekcje są obecne w JDK od początku istnienia Javy. Jednak, wydana w roku 1995 wersja 1.0 zawierała zestaw kilku słabo związanych ze sobą klas, które reprezentowały różne rodzaje kolekcji: prostą tablicę lub klasę Vector (jako listę), Hashtable (jako tablicę asocjacyjną). Klasy te były gotowymi implementacjami o sfinalizowanych metodach (co utrudniało ich rozszerzanie), brakowało abstrakcyjnych interfejsów, które pozwoliłyby lepiej modularyzować kod i hermetyzować jego funkcjonalność.

Dlatego w wersji 1.2 JDK pojawiła się zaprojektowana od nowa biblioteka Java Collections, która rozwiązywała większość istniejących problemów. Wprowadzono nowe interfejsy, które tworzyły szkielet biblioteki: Collection, Set, List i Map, dzięki czemu implementacje nie były ze sobą bezpośrednio związane. Dostęp do elementów kolekcji został ujednolicony poprzez wprowadzenie interfejsu Iterator, implementowanego we wszystkich kolekcjach. Ponadto, w bibliotece zaimplementowano typowe algorytmy wyszukiwania, sortowania, a także wymienny mechanizm porównywania obiektów.

Kolejna duża zmiana wiązała się z wprowadzeniem do języka Java typów generycznych (ang. generic types ). Pozwalają one sprawdzać w momencie kompilacji, czy typy obiektów są zgodne z deklaracją. Ma to ogromny wpływ przede wszystkim na kolekcje, które dotąd przechowywały obiekty typu java.lang.Object, a więc "zapominały" o typach. Wraz z pojawieniem się typów generycznych możliwe stało się określenie typu elementów i weryfikacja w momencie kompilacji.

Wprowadzane zmiany miały ogromny wpływ na projekt, funkcjonalność i sposób wykorzystania biblioteki Java Collections. Warto zauważyć, że biblioteka ta zachowała jednak wsteczną zgodność z poprzednimi wersjami, co miało istotny wpływ na drogi jej ewolucji.


<< Poprzedni slajd | Spis treści | Następny slajd >>