Třída ArrayList
Výhody využití třídy ArrayList:
-
Dynamická velikost: Oproti polím, která mají pevnou velikost po vytvoření, může ArrayList dynamicky růst a zmenšovat se dle potřeby. To je velmi užitečné, když potřebujeme ukládat proměnný počet prvků.
-
Snadné přidávání a odebírání prvků: Třída ArrayList poskytuje metody pro přidávání a odebírání prvků na konkrétní pozici v seznamu. To usnadňuje manipulaci s daty.
-
Dynamické rozšiřování kapacity: Pokud ArrayList dosáhne své kapacity, automaticky se zvětší a všechny prvky jsou do něj přesunuty, takže nemusíme manuálně spravovat zvětšování pole.
-
Široká funkcionalita: Třída ArrayList nabízí mnoho metod pro práci se seznamem, jako jsou add(), remove(), get(), size() atd.
Nevýhody použití třídy ArrayList:
-
Mírně větší paměťová náročnost: Oproti polím, která mají pevnou velikost, může ArrayList vyžadovat více paměti kvůli dynamickému rozšiřování kapacity.
-
Mírně pomalejší: Přístup k prvkům v ArrayListu může být mírně pomalejší než přístup k prvkům v poli, zejména u velkých datových struktur. To je kvůli vnitřní implementaci ArrayListu.
Obecné založení ArrayListu:
// Vždy je nutné knihovnu importovat do programu
import java.util.ArrayList;
Pro založení instance třídy ArrayList použijeme konstruktor třídy ArrayList:
// Obecná deklarace ArrayListu pomocí obecné třídy Object
ArrayList<Object> list = new ArrayList<>();
Pozor: Pokud zavoláte pouze ArrayList<Object> list, tak program vyhodí chybu NullPointerException, protože není jasné, jakou má proměnná list typu ArrayList hodnotu.
Syntaxe pro vytvoření ArrayListu:
// Deklarace a vytvoření ArrayListu pro celá čísla ArrayList<Integer> seznamCisel = new ArrayList<>(); // Deklarace a vytvoření ArrayListu pro řetězce ArrayList<String> seznamRetezcu = new ArrayList<>();
Přidání prvků do ArrayListu:
seznamCisel.add(10); // Přidání čísla 10 do seznamCisel seznamCisel.add(20); // Přidání čísla 20 do seznamCisel seznamRetezcu.add("Jedna"); // Přidání řetězce "Jedna" do seznamRetezcu seznamRetezcu.add("Dva"); // Přidání řetězce "Dva" do seznamRetezcu
Získání prvků z ArrayListu:
int prvniCislo = seznamCisel.get(0); // Získání prvního čísla z seznamCisel String prvniRezetez = seznamRetezcu.get(0); // Získání prvního řetězce z seznamRetezcu
Odebírání prvků z ArrayListu:
seznamCisel.remove(0); // Odebrání prvního čísla ze seznamCisel seznamRetezcu.remove(0); // Odebrání prvního řetězce ze seznamRetezcu
Zjištění počtu prvků v ArrayListu:
int pocetCisel = seznamCisel.size(); // Zjištění počtu čísel v seznamCisel int pocetRetezcu = seznamRetezcu.size(); // Zjištění počtu řetězců v seznamRetezcu
Další operace a metody třídy ArrayList:
Třída ArrayList poskytuje mnoho dalších metod pro práci se seznamem, jako je clear() pro vymazání seznamu, contains() pro ověření, zda prvek je v seznamu, isEmpty() pro zjištění, zda je seznam prázdný, a mnoho dalších. Přehled všech metod najdete v dokumentaci třídy ArrayList.
Iterace ArrayListem pomocí cyklu:
for (String item : list) {
System.out.println(item); // TENTO KÓD VYPÍŠE KAŽDÝ PRVEK SEZNAMU NA SAMOSTATNÝ ŘÁDEK
}