CodeGym
Promocja
Nauka
Kursy
Zadania
Ankiety & quizy
Gry
Pomoc
Harmonogram
Społeczność
Użytkownicy
Forum
Czat
Artykuły
Historie sukcesu
Aktywność
Opinie
Subskrypcje
Jasny motyw

Lekcje

  • Opinie
  • O nas
Start
Rozpocznij naukę
Rozpocznij naukę teraz
  • Mój postęp
  • Kursy
  • Mapa Questów
  • Lekcje
  • Set: HashSet i TreeSet, unikalność elementów

    JAVA 25 SELF
    Poziom 26,Lekcja 3
    W tej lekcji omawiamy interfejs Set w Javie: czym różni się od List, jak zapewniana jest unikalność elementów, jak działają implementacje HashSet (szybko, bez porządku) i TreeSet (posortowane), oraz kiedy wybrać którą strukturę. Rozważymy ważne niuanse dotyczące equals() i hashCode(), pracy z null, przykłady typowych zadań (usuwanie duplikatów, sprawdzanie unikalności) oraz częste błędy.
    Dostępne
  • Generics: po co są potrzebne, podstawowa składnia

    JAVA 25 SELF
    Poziom 26,Lekcja 4
    Przechodzimy od „surowych” kolekcji do kodu bezpiecznego typowo. Wykład wyjaśnia, dlaczego przed pojawieniem się generics kolekcje oparte na Object prowadziły do błędów w czasie wykonywania ( ClassCastException), jak generics rozwiązuje to na etapie kompilacji, jak czytać i pisać konstrukcje takie jak List<String>, Map<String, Integer>, czym jest „operator diamentu” <> i po co jest wymazywanie typów (type erasure). Plus przykłady z własnymi klasami generycznymi oraz omówienie typowych błędów.
    Dostępne
  • Interfejsy Collection, List, Set, Map: hierarchia

    JAVA 25 SELF
    Poziom 27,Lekcja 0
    Omawiamy podstawy kolekcji Java: interfejs Collection i jego gałęzie List, Set, Queue/ Deque, a także osobną hierarchię Map. Dowiesz się, dlaczego Map nie dziedziczy po Collection, jak wygląda hierarchia, czym różnią się implementacje, które metody są kluczowe i kiedy co wybrać. Na końcu — typowe błędy i jak ich uniknąć.
    Dostępne
  • Iterable i Iterator: iterowanie kolekcji

    JAVA 25 SELF
    Poziom 27,Lekcja 1
    W lekcji omawiamy, jak pracować z interfejsami Iterable i Iterator: co robi metoda iterator(), jak „za kulisami” działa pętla for-each, kiedy i po co ręcznie używać hasNext() i next(), jak bezpiecznie usuwać elementy przez remove() bez ConcurrentModificationException, a także jak poprawnie iterować po Map za pomocą keySet(), values() i entrySet(). Wiele praktycznych przykładów i częste błędy do utrwalenia.
    Dostępne
  • Queue, Deque, Stack: praca z kolejkami i stosami

    JAVA 25 SELF
    Poziom 27,Lekcja 2
    W tym wykładzie omawiamy kolejki i stosy w Java: jak działa zasada FIFO i LIFO, czym różnią się Queue, Deque i Stack, dlaczego we współczesnych projektach wybierać ArrayDeque oraz jak bezpiecznie korzystać z metod offer/ poll/ peek i push/ pop/ peek. Pokażemy przykłady z LinkedList, PriorityQueue, miniaplikacje drukowania i stosu undo, a także omówimy typowe błędy.
    Dostępne
  • NavigableSet/NavigableMap

    JAVA 25 SELF
    Poziom 27,Lekcja 3
    W tej lekcji omawiamy uporządkowane i nawigowalne kolekcje Javy: NavigableSet i NavigableMap. W praktyce zobaczymy, jak pracować z zakresami za pomocą subSet/ headSet/ tailSet, wyszukiwać „najbliższe” elementy przy użyciu lower, floor, ceiling, higher oraz zarządzać skrajnymi elementami poprzez pollFirst/ pollLast. Omówimy odwrócone widoki descendingSet/ descendingMap, „żywe” view i typowe przypadki użycia (harmonogramy, priorytety, skale). Jako implementacje użyjemy TreeSet i TreeMap.
    Dostępne
  • Generics wildcards

    JAVA 25 SELF
    Poziom 27,Lekcja 4
    W tym wykładzie omawiamy inwariantność generyków w Java, granice parametrów typów ( extends/ super), typy podstawieniowe ? i zasadę PECS („Producer Extends, Consumer Super”). Zobaczymy, jak pisać uniwersalne metody z wildcardami, jak działa wymazywanie typów (type erasure), ograniczenia przy użyciu instanceof i tablic, a także praktykę z kolekcjami i Stream API. Na końcu – częste błędy i jak ich uniknąć.
    Dostępne
  • Filtrowanie elementów kolekcji

    JAVA 25 SELF
    Poziom 28,Lekcja 0
    W tej lekcji omawiamy praktykę filtrowania kolekcji w Java: podejście imperatywne przez pętlę for, bezpieczne usuwanie podczas iteracji za pomocą Iterator i metody remove(), a także nowoczesne i zwięzłe rozwiązanie removeIf (Java 8+). Omówimy, dlaczego pojawia się ConcurrentModificationException, kiedy warto utworzyć nową listę i jakie typowe błędy najczęściej spotyka się przy formułowaniu warunków filtrowania.
    Dostępne
  • Przekształcanie kolekcji

    JAVA 25 SELF
    Poziom 28,Lekcja 1
    W tym wykładzie omawiamy, jak imperatywnie wykonywać przekształcenia kolekcji: z List<String> uzyskiwać List<Integer> (np. długości napisów), jak wyodrębniać pola z obiektów modelu domenowego ( Product → nazwa/cena), jak „spłaszczać” zagnieżdżone kolekcje za pomocą addAll() lub zagnieżdżonych pętli, a także jak łączyć filtrowanie z transformacją przy użyciu if oraz metod takich jak startsWith. Na końcu omówimy typowe błędy: modyfikowanie kolekcji źródłowej, nieprawidłowe rzutowanie typów ( ClassCastException) oraz kwestie wydajności.
    Dostępne
  • Bezpieczne usuwanie elementów

    JAVA 25 SELF
    Poziom 28,Lekcja 2
    W praktyce usuwanie elementów z kolekcji często prowadzi do ConcurrentModificationException. W wykładzie omówimy, dlaczego dzieje się to przy iteracji przez for-each, jak bezpiecznie usuwać elementy za pomocą Iterator.remove(), do czego przydaje się ListIterator, kiedy wybrać removeIf (Java 8+) i jak poprawnie pracować z Map. Na koniec — praktyczne wskazówki i typowe błędy.
    Dostępne
  • EnumSet/EnumMap

    JAVA 25 SELF
    Poziom 28,Lekcja 3
    W tym wykładzie omawiamy wyspecjalizowane kolekcje dla wyliczeń — EnumSet i EnumMap z pakietu java.util: jak są zbudowane wewnątrz (maski bitowe i indeksowanie po ordinal), dlaczego są szybsze i bardziej kompaktowe niż HashSet/ HashMap, gdzie je stosować (flagi, tabele odwzorowań, automaty skończone), jakie pułapki wiążą się ze zmianą enum i serializacją, a także zestaw najlepszych praktyk i typowych błędów z czytelnymi przykładami kodu.
    Dostępne
  • LinkedHashSet/LinkedHashMap

    JAVA 25 SELF
    Poziom 28,Lekcja 4
    W tym wykładzie omawiamy kolekcje zapamiętujące kolejność: LinkedHashSet i LinkedHashMap. Dowiesz się, jak utrzymują kolejność wstawiania oraz kolejność dostępu, jak w kilku liniach zbudować cache LRU przez nadpisanie removeEldestEntry, jakie są koszty pamięci i wydajności w porównaniu z HashSet/ HashMap, kiedy potrzebny jest deterministyczny porządek dla stabilnych testów i raportów, a także dlaczego dla kolejek/stosów lepszy jest ArrayDeque niż LinkedList. Na końcu — typowe błędy i jak ich unikać.
    Dostępne
  • 1
  • ...
  • 12
  • 13
  • 14
  • 15
  • 16
  • ...
  • 30
Nauka
  • Rejestracja
  • Kurs Java
  • Pomoc w zadaniach
  • Cennik
  • Składnia Javy
Społeczność
  • Użytkownicy
  • Artykuły
  • Forum
  • Czat
  • Historie sukcesu
  • Aktywność
  • Program partnerski
Firma
  • O nas
  • Kontakt
  • Opinie
  • Dla mediów
  • CodeGym dla EDU
  • FAQ
  • Wsparcie
CodeGymCodeGym to kurs online do nauki programowania w Javie od podstaw. Kurs idealny do opanowania Javy dla początkujących. Zawiera 1200+ zadań z natychmiastową weryfikacją oraz niezbędny zakres teorii podstaw Javy. Aby pomóc Ci w nauce, wprowadziliśmy zestaw funkcji motywacyjnych: quizy, projekty programistyczne, materiały o efektywnej nauce i poradnik kariery dla programisty Java.
Obserwuj nas
Język interfejsu
English Deutsch Español हिन्दी Français Português
Polski
বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programiści są tworzeni, nie rodzą się" © 2026 CodeGym
MastercardVisa
"Programiści są tworzeni, nie rodzą się" © 2026 CodeGym