
Istotne. Będziemy wspominać o tym na początku każdego z warsztatów, żeby ułatwić Ci zrozumienie materiałów. Ten warsztat został nagrany w Java 11. Testy w tym warsztacie również odnoszą się do Java 11. Ma to o tyle znaczenie, że jeżeli będziesz korzystać z nowszych wersji Java, to teoretycznie mogły tam nastąpić jakieś kosmetyczne zmiany. Dlatego dla spójności, zalecamy korzystanie z JDK 11, żeby Twoje przykłady zachowywały się tak jak na nagraniach, ale nie zabraniamy korzystać z nowszego JDK. Pamiętajmy, że Java z założenia jest kompatybilna wstecznie, chociaż praktyka pokazuje, że twórcy czasem naginają tę zasadę. Do tematu aktualizacji wersji Javy i do mechanizmów wprowadzanych w nowszych wersjach języka wrócimy w dedykowanym warsztacie.
W tym materiale dowiesz się o tym, czym są generyki w Javie. Służą one do tego, żeby określić, że pisana przez nas klasa ma współpracować tylko z inną określoną klasą - czyli np. jak napisać worek, który będzie przetrzymywał tylko jabłka, ale gruszek już nie ?
Przed tobą pierwsze podsumowanie. Bartek Kowalczyk będzie, mamy nadzieje, także Twoim głosem podczas tego warsztatu. Bardzo możliwe, że jego pytania będą bliskie również Twoim wątpliwościom na tym etapie. Przed Tobą godzinne podsumowanie dotychczasowych 4 spotkań, po którym wszystko powinno być już jasne.
Z tego warsztatu dowiemy się, czym są typy generyczne w Javie oraz jak zachowuje się mechanizm określania typu, na jakim chcemy operować w danej klasie. Dowiemy się, jak można stosować typy generyczne na przykładzie różnych rodzajów kolekcji (Listy, Sety, Kolejki i Mapy). Do tego dowiemy się, jak można efektywnie określać, w jaki sposób chcemy posortować elementy w kolekcji.
Generics
Klasy Generyczne
Dowiesz się, jak tworzyć klasy generyczne, które mogą operować na różnych typach danych, zachowując jednocześnie bezpieczeństwo typów.
Interfejsy Generyczne
Nauczysz się, jak definiować interfejsy generyczne, które mogą być implementowane przez różne klasy pracujące z różnymi typami danych.
Metody Generyczne
Zrozumiesz, jak tworzyć metody generyczne, które mogą działać na różnorodnych typach danych bez konieczności ich wcześniejszego określania.
A co by było, gdyby nie było generyków?
Zastanowimy się nad korzyściami wynikającymi z używania generyków i jakie problemy mogłyby się pojawić, gdyby ich nie było.
Unbounded Wildcards
Poznasz użycie dzikich kart bez ograniczeń (unbounded wildcards) i ich zastosowanie.
Upper Bound Wildcard
Dowiesz się, jak ograniczyć typy do podklas za pomocą górnych ograniczeń (upper bound wildcard).
Lower Bound Wildcard
Zrozumiesz, jak stosować dolne ograniczenia (lower bound wildcard) dla generyków.
Dziwne Przykłady
Analiza nietypowych przypadków użycia generyków, które pomogą lepiej zrozumieć ich mechanizmy.
Comparing
Wstęp
Wprowadzenie do tematu porównywania elementów w kolekcjach.
Comparator
Nauczysz się, jak implementować interfejs Comparator do porównywania obiektów według określonych kryteriów.
Comparable
Zrozumiesz, jak używać interfejsu Comparable do porównywania obiektów według naturalnego porządku.
Kolekcje
Podsumowanie Podstaw
Krótkie przypomnienie podstawowych informacji o kolekcjach.
Listy
Szczegółowe omówienie list: ArrayList, LinkedList i inne typy list.
Podsumowanie z Bartkiem K.
Podsumowanie tematu list z Bartkiem K.
Sety
Omówienie setów: HashSet, LinkedHashSet, TreeSet.
Mapy
Szczegółowe omówienie map: HashMap, LinkedHashMap, TreeMap.
Kolejki
Omówienie kolejek: ArrayDeque, Stack, PriorityQueue.
Obsługa null w Kolekcjach
Nauczysz się, jak zarządzać wartościami null w różnych typach kolekcji.
Notacja BIG O
Wprowadzenie do notacji Big O, która służy do analizy złożoności czasowej i pamięciowej algorytmów.
Projekt!
Na zakończenie warsztatu uczestnicy zrealizują projekt, w którym wykorzystają zdobyte umiejętności i wiedzę z zakresu generyków oraz kolekcji w Javie.
Warsztat #1 Java generics i kolekcje ze ścieżki Zajavka
Ten warsztat został nagrany w Java 11. Testy w tym warsztacie również odnoszą się do Java 11. Ma to o tyle znaczenie, że jeżeli będziesz korzystać z nowszych wersji Java, to teoretycznie mogły tam nastąpić jakieś kosmetyczne zmiany. Dlatego dla spójności, zalecamy korzystanie z JDK 11, żeby Twoje przykłady zachowywały się tak jak na nagraniach, ale oczywiście możesz korzystać z nowszego JDK.
Warsztat ten jest doskonałą okazją do pogłębienia wiedzy na temat typów generycznych i kolekcji w Javie. Dzięki praktycznym zadaniom, testom oraz projektowi końcowemu uczestnicy zdobędą cenne doświadczenie, które będzie przydatne w ich dalszej karierze programistycznej.
Warsztat ten jest pierwszym warsztatem w ramach ścieżki Zajavka.