Nurtuje Was pytanie czy warto uczyć się Javy w 2021 roku? Faktem jest, że ja korzystam z tego języka dopiero od drugiego roku studiów niemniej jednak jestem w stanie stwierdzić czy moim zdaniem jest sens zawracać sobie nim głowę. Tym bardziej, że mam zamiar jeszcze pisać w nim programy w przyszłości (może też kiedyś gry online?). Sprawdźcie już teraz moją opinię na ten temat oczywiście "postawioną" na argumentacji. Nie tylko za, ale również przeciw.

Tak oto dochodzimy do ostatniego artykułu z długiego cyklu na temat języka Java. W przyszłości mogą pojawić się jeszcze jakieś, ale będą to pojedyncze wpisy. Na dzisiaj mam dla Was coś specjalnego na odejście od tematu. Czy zdajecie sobie sprawę, że mogliście wielokrotnie źle korzystać z łańcucha znaków od czasu utworzenia instancji? Dowiedzieliśmy się już znacznie wcześniej, że łańcuch znaków sprawia trudności w języku C, aczkolwiek w Javie też jest pewna pułapka i to o wiele bardziej perfidna, bo niedająca po sobie niczego poznać. Zapraszam serdecznie, to jest bardzo ważny wątek!

Kontynuujemy wczorajszy wątek dotyczący pakietów, aby traktować go jako drugi krok do tego, jak należy PRAWIDŁOWO ręcznie kompilować kod źródłowy w języku Java. Proszę o cofnięcie się wstecz jeśli nie przerobiliście tamtego etapu, jest on kluczowy, żeby zrozumieć, a także utworzyć własny archiwum JAR. Zapraszam.

Korzystając z pakietów w Javie kompilując to wszystko ręcznie przy użyciu jedynie wiersza poleceń, na pewno niejeden z Was zastanawiał się czemu znowu coś nie działa. Dzisiaj nikogo nie będzie dziwić korzystanie z dowolnego IDE, aczkolwiek warto chociaż parę razy w życiu skompilować swój kod manualnie od początku do końca, aby się dowiedzieć jak to działa w rzeczywistości. Pakiety w języku Java mocno komplikują proces ręcznej kompilacji i tym się teraz zajmiemy w ramach odejścia od tematu kolekcji.

Poruszymy dzisiaj podsumowanie wszystkich trzech typów kolekcji występujących w języku Java: List vs. Set vs. Map. Dosyć sporo się już napisało o niektórych konkretnych kolekcjach więc warto teraz skonfrontować te trzy typy, pokazać ich najlepsze zastosowania oraz zalety i wady. Zapraszam bardzo serdecznie!

Przechodzimy do części praktycznej "równości" obiektów w Javie. Trzymamy się kolekcji "HashSet" i rzucam następującymi hasłami: "hashCode" (zwany "kodem mieszającym") i "equals". Jesteście zaciekawieni znaczeń tych słów kluczowych i w jaki sposób mogą pomóc nam przy ustalaniu czy dwa obiekty są sobie równe? Nie pozostaje Wam nic innego jak wchodzić do środka artykułu!

Następna porcja wiedzy na temat kolekcji w Javie. Wcześniej poruszyłem temat kolekcji "TreeSet", a teraz dowiemy się co nieco o bardzo podobnej kolekcji zwanej "HashSet". Przy okazji będzie wstęp do rozumienia "równości" obiektów. Zapraszam po szczegóły.

Jesteście zainteresowani jakie inne kolekcje występują w Javie? OK, zdecydowana większość problemów może zostać rozwiązana za pomocą "ArrayList", natomiast są też takie, które okażą się o wiele skuteczniejsze albo chociaż zaoszczędzą trochę pisania ze względu na ich niektóre działania wykonywane automatycznie. A skoro o automatycznych działania mowa, to obejrzymy sobie kolekcję "TreeSet" i porównamy sobie z poprzednim "książkowym" przykładem.

Zakończyłem jak na razie temat typów generycznych w Javie. Te trzy części tłumaczenia zastosowania typów ogólnych były potrzebne po to, abyśmy mogli teraz spokojnie wrócić do poprzedniego rozdziału na którym stanęliśmy. Możemy w końcu porównać sobie interfejs "Comparable" do poprzedniego i zobaczyć jak daleko idą te różnice.

Javy nie ma końca. Kontynuujemy temat typów ogólnych. Poprzednio wspomniałem o słowie kluczowym "extends", które nie tylko jest wykorzystywane podczas dziedziczenia przez klasy, ale także przez typy generyczne. Jeśli nie przeczytaliście fragmentu o metodach uogólnionych, to przerwijcie czytanie w tym miejscu i wróćcie do tamtego artykułu, bo to będzie kontynuacja. Poznajcie tajemnicę drugiego znaczenia "rozszerzania", bo przy programowaniu uogólnionym ma to dwojakie zastosowanie.