Przegląd List i Set
Poznają Państwo różnice między List i Set: kolejność, duplikaty i codzienne operacje. Dodadzą, usuną i wyszukają elementy oraz przeiterują po kolekcjach w prostych przykładach.
Przegląd List i Set to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 3 lekcji w sumie.
Czym są kolekcje?
Kolekcje przechowują grupy obiektów. List zachowuje kolejność i używa indeksów, natomiast Set koncentruje się na przynależności i unikatowości elementów. Wybór zależy od tego, czego potrzebujesz: kolejności czy unikatowości?
List a Set — najważniejsze informacje
- List: zachowuje kolejność dodawania, dopuszcza duplikaty i umożliwia dostęp za pomocą indeksu.
- Set: nie zawiera duplikatów; w HashSet kolejność nie jest gwarantowana.
- Wybierz List dla sekwencji, a Set, aby unikać duplikatów i szybko sprawdzać przynależność elementów.
Kod: podstawy ArrayList
ArrayList zachowuje kolejność i dopuszcza duplikaty. Elementy można odczytywać za pomocą indeksu oraz usuwać według wartości lub indeksu.
public class Main {
public static void main(String[] args) {
java.util.List<String> items = new java.util.ArrayList<>();
// add elements (duplicates allowed)
items.add("apple");
items.add("banana");
items.add("apple"); // duplicate ok
// access by index
System.out.println(items.get(0)); // apple
// remove by value and by index
items.remove("banana");
items.remove(0); // remove first
// print remaining
System.out.println(items); // [apple]
}
}
Codzienne operacje
Typowe operacje:
- add(e), remove(e), contains(e)
- size() pozwala pobrać liczbę elementów
- Iterowanie za pomocą indeksu lub rozszerzonej pętli for
Kod: unikatowość w HashSet
HashSet usuwa duplikaty i ułatwia sprawdzanie przynależności elementów. Podczas wyświetlania elementy mogą pojawić się w dowolnej kolejności.
public class Main {
public static void main(String[] args) {
java.util.Set<String> tags = new java.util.HashSet<>();
tags.add("java");
tags.add("oop");
tags.add("java"); // duplicate ignored
System.out.println("size=" + tags.size()); // 2
// membership check
System.out.println("has oop? " + tags.contains("oop"));
System.out.println(tags); // order not guaranteed
}
}
Kod: sposoby iterowania
Iteruj za pomocą indeksu, gdy potrzebujesz pozycji elementów. Użyj enhanced for, gdy zależy Ci na czytelności i potrzebujesz tylko samych elementów.
public class Main {
public static void main(String[] args) {
java.util.List<String> list = new java.util.ArrayList<>();
list.add("A"); list.add("B"); list.add("C");
// classic for with index
for (int i = 0; i < list.size(); i = i + 1) {
System.out.print(list.get(i) + (i < list.size()-1 ? " " : "\n"));
}
// enhanced for (for-each)
for (String s : list) {
System.out.print("[" + s + "]");
}
System.out.println();
}
}
Sprawdzenie List a Set
Szybkie sprawdzenie: Które stwierdzenie dotyczące List i Set w języku Java jest prawdziwe?
Podsumowanie
Podsumowanie: Używaj List dla uporządkowanych sekwencji, a Set dla unikatowych elementów i sprawdzania ich przynależności. Ćwiczenie: przekonwertuj List na Set, aby usunąć duplikaty, a następnie z powrotem na List, jeśli potrzebujesz kolejności.
Często zadawane pytania
Czy lekcja „Przegląd List i Set” jest bezpłatna?
Tak — pełny tekst „Przegląd List i Set” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Przegląd List i Set”?
Poznają Państwo różnice między List i Set: kolejność, duplikaty i codzienne operacje. Dodadzą, usuną i wyszukają elementy oraz przeiterują po kolekcjach w prostych przykładach. Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Java Academy?
Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.
Ile czasu zajmuje lekcja „Przegląd List i Set”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?
Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Przegląd List i Set
- Iteratory i rozszerzona pętla for
- Narzędzia kolekcji