Java #37: wyjątki i ich obsługa

java exceptions

Zanim zacznę omawiać, czym są wyjątki (ang. exceptions), postaraj się przetestować poniższy kod: Wynik na konsoli powinien być podobny do poniższego: Co to oznacza? Ponieważ użyłem zmiennej, do którego nie przypisałem wcześniej żadnej referencji (brak inicjalizacji), to wyświetlił mi się komunikat na konsoli, oznaczający, że zaszedł Nullpointer Exception. Widziałeś już na pewno takie informacje nie … Dowiedz się więcej

Java #36: interfejs Iterator

java iterator

Pojęcie iteratora jest ostatnim, które związane jest z kolekcjami. Są one alternatywą dla klasyczny pętli for oraz foreach. Każda z kolekcji Java, która dziedziczy po interfejsie Collection, posiada w swoim API operację o nazwie 'iterator’. Interfejs Iterator jest bardzo prostą strukturą udostępniającą właściwie tylko trzy metody: next, hasNext, oraz remove. Przeglądanie rekordów Iteratory dobrze sprawdzają … Dowiedz się więcej

Java #35: lista dwukierunkowa i reszta kolekcji

java linkedlist

Lista dwukierunkowa Kolejną ciekawą strukturą danych jest lista dwukierunkowa (ang. linked list). Działa podobnie jak zwykła lista, ale ma trochę inne zastosowanie. Zwykła lista jest dość wolną strukturą jeśli chodzi o modyfikowania danych, dlatego używaj jej do przechowywania informacji i ich odczytu. Ponieważ lista dwukierunkowa posiada dwa wskaźniki (na element następny oraz poprzedni), modyfikowanie danych … Dowiedz się więcej

Java #34: TreeSet (drzewo)

java treeset

Skoro były już tablice, zbiory i mapy, to teraz muszą być drzewa. 😉 Drzewami (ang. treeset, dosłownie: zbiór drzewa) nazywamy struktury danych które swoim wyglądem przypominają drzewa genealogiczne, które na pewno znasz z lekcji w podstawówce. Każde drzewo zawiera jeden korzeń (root) z którego wychodzą kolejne liście/węzły (nodes). Każdy następny węzeł staje się też korzeniem … Dowiedz się więcej

Java #33: HashSet (zbiór)

Java hashset

Zbiory (ang. sets) to bardzo przydatna alternatywa dla listy. Są dużo bardziej wydajne, ale nie mogą zawierać duplikatów. Zbiory są bardzo przydatne, gdy potrzebujesz struktury danych, która powinna zawierać unikatowe pojęcia. Np. zbiór krajów, zbiór miast, itd. Najpopularniejszą implementacją interfejsu Set jest HashSet, i to tą klasę tutaj omówię. Podobieństwa HashSet do listy Metody tej … Dowiedz się więcej

Java #32: hashmap (mapa)

java hashmap

Mapa w przeciwieństwie do listy, umożliwia połączenie ze sobą dwóch obiektów: klucza i wartości. Dobrym przykładem używania mapy będzie próba zaimplementowania jakiegoś słownika. Słownik z definicji posiada szukaną nazwę zagadnienia (klucz) oraz jego definicję (wartość). Przykładowa mapa: Podobnie jak w przypadku tablicy dynamicznej, zamiast przy deklaracji zmiennej używać jej implementacji, powinno się wykorzystać jej interfejs … Dowiedz się więcej

Java #31: lista (tablica dynamiczna)

java arraylist

W poprzednim wpisie napisałem mały wstęp do kolekcji, w tym także do tablicy dynamicznej (lub inaczej lista). Teraz postaram się przybliżyć funkcjonalność struktury, którą na pewno będziesz używać podczas Twojej pracy jako programista. W ten sposób możesz stworzyć swoją pustą tablicę dynamiczną (lub w skrócie listę). Lista jednokierunkowa Użyłem tutaj klasy ArrayList, która przechowuje implementację … Dowiedz się więcej

Java #30: kolekcje (ogólnie)

java collections

Kolekcje – zbiór struktur danych w Javie Korzystanie z tablic posiada jedną zasadniczą wadę. Mianowicie za każdym razem musisz wiedzieć, ile maksymalnie potrzeba w niej elementów. Nie można stworzyć tablicy bez wpisania jej rozmiaru i nawet jeśli wypełnisz jedną komórkę danymi, to i tak wirtualna maszyna Javy zarezerwuje dużo więcej pamięci niż faktycznie używasz. Dodatkowo, … Dowiedz się więcej