ArrayList je jednou z najčastejšie používaných dátových štruktúr v jazyku Java. Umožňuje dynamicky upravovať a ukladať zbierku objektov. V tomto tutoriáli vám predstavíme syntax Java ArrayList a vysvetlíme, kedy ho používať.

Aký je rozdiel medzi ArrayList a Array v Jave?

Java ArrayList je dynamický, čo znamená, že sa zväčšuje a zmenšuje, keď sa pridávajú alebo odstraňujú prvky. Stojí za zmienku, že trieda ArrayList je súčasťou Java Collections Framework a nie je dostupná natívne. Na rozdiel od polí sa musí importovať z knižnice java.util.

ArrayLists sú vhodnou voľbou, ak sa dĺžka Java List môže potenciálne meniť. Príklady zahŕňajú ukladanie objektov, vyhľadávanie alebo triedenie údajov a vytváranie zoznamov alebo čakacích radov.

Naopak, nie je možné zmeniť veľkosť poľa. To znamená, že v ideálnom prípade by ste mali vopred vedieť počet objektov, ktoré pole bude obsahovať. Polia sú vhodné na správu vopred definovanej sady primitívnych dátových typov, ako sú int, float, char alebo Boolean.

Nevýhodou ArrayListov je, že prístup k nim môže trvať dlhšie. Kým polia majú pevný súvislý blok pamäte, objekty v ArrayListoch nie sú uložené súvislo. Je dôležité zohľadniť výhody a nevýhody dátových štruktúr, aby ste mohli vybrať tú, ktorá najlepšie vyhovuje vašim potrebám.

Aká je syntax pre Java ArrayList?

Pred vytvorením ArrayList je potrebné importovať príslušnú triedu z knižnice java.util.

import java.util.ArrayList;
Java

Všeobecná syntax je:

ArrayList<Type> arrayList= new ArrayList<>();
Java

„Typ“ označuje príslušný typ údajov v Java ArrayList.

Ďalším krokom je vytvorenie zoznamov strings a integers.

ArrayList<String> arrayList= new ArrayList<>();
Java
ArrayList<Integer> arrayList= new ArrayList<>();
Java

ArrayLists používajú zodpovedajúcu wrapperovú triedu primitívnych dátových typov, aby sa s nimi zaobchádzalo ako s objektmi. To znamená, že musíte špecifikovať integer namiesto int.

Príklady metód Java ArrayList

Operácie, ako je pridávanie alebo odstraňovanie prvkov, sa v ArrayLists nevykonávajú pomocou operátorov Java, ale prostredníctvom preddefinovaných metód. Nižšie vám ukážeme najbežnejšie metódy ArrayList.

Pridávanie prvkov

Po vytvorení ArrayList „farby“ (typString ) pridáme rôzne prvky pomocou metódy .add().

import java.util.ArrayList;
class Main {
    public static void main(String[] args){
        ArrayList<String> colours = new ArrayList<>();
        colours.add("blue");
        colours.add("red");
        colours.add("green");
        System.out.println("ArrayList: " + colours);
    }
}
Java

Výsledkom je:

ArrayList: [blue, red, green]
Java

Odstránenie prvkov

Na odstránenie objektov z Java ArrayList používame metódu .remove() a špecifikujeme index prvku.

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> colours = new ArrayList<>();
        colours.add("blue");
        colours.add("red");
        colours.add("green");
        System.out.println("ArrayList: " + colours);
        String colour = colours.remove(1);
        System.out.println("ArrayList: " + colours);
        System.out.println("Removed Element: " + colour);
    }
}
Java

Výstup zobrazuje upravený ArrayList a prvok, ktorý bol odstránený:

ArrayList: [blue, green]
Removed Element: red
Java

Rovnako ako pri väčšine programovacích jazykov, počítanie v Jave začína od 0. To znamená, že odstránený prvok na indexe 1 je red.

Prístup k prvkom v Java ArrayList

Pomocou funkcie .get() môžeme pristupovať k prvku na konkrétnej pozícii.

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> clothes = new ArrayList<>();
        clothes.add("jacket");
        clothes.add("shirt");
        clothes.add("pullover");
        System.out.println("ArrayList: " + clothes);
        String str = clothes.get(2);
        System.out.print("Element at index 2: " + str);
    }
}
Java

Výsledok je nasledovný:

ArrayList: [jacket, shirt, pullover]
Element at index 2: pullover
Java

Zmena prvkov

S .set() môžeme zmeniť prvok tak, že priradíme nový prvok na konkrétny index.

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> colours = new ArrayList<>();
        colours.add("blue");
        colours.add("red");
        colours.add("green");
        System.out.println("ArrayList: " + colours);
        colours.set(2, "yellow");
        System.out.println("Modified ArrayList: " + colours);
    }
}
Java

Teraz vidíme yellow namiesto green na indexe 2:

ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]
Java

Určenie dĺžky Java ArrayList

Počet prvkov v ArrayList sa dá ľahko vypočítať pomocou metódy .size().

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> colours = new ArrayList<>();
        colours.add("blue");
        colours.add("red");
        colours.add("green");
        System.out.println(colours.size());
    }
}
Java

Toto je výsledok:

3
Java

Triedenie a iterácia cez ArrayList

Na triedenie Java ArrayList je potrebné importovať triedu collections. Na iteráciu používame slučku Java for-each. Pri každej iterácii slučky sa príslušný prvok vypíše na konzolu.

import java.util.ArrayList;
import java.util.Collections;
public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> ages = new ArrayList<Integer>();
        ages.add(20);
        ages.add(54);
        ages.add(17);
        ages.add(9);
        Collections.sort(ages);
        for (int i : ages) {
            System.out.println(i);
        }
    }
}
Java

Prvky ArrayList sú zobrazené od najmenších po najväčšie:

9
17
20
54
Java
Prejsť na hlavné menu