Ako používať Java ArrayList
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;JavaVš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<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayLists 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);
}
}JavaVýsledkom je:
ArrayList: [blue, red, green]JavaOdstrá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);
}
}JavaVýstup zobrazuje upravený ArrayList a prvok, ktorý bol odstránený:
ArrayList: [blue, green]
Removed Element: redJavaRovnako 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);
}
}JavaVýsledok je nasledovný:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaZmena 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);
}
}JavaTeraz vidíme yellow namiesto green na indexe 2:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaUrč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());
}
}JavaToto je výsledok:
3JavaTriedenie 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);
}
}
}JavaPrvky ArrayList sú zobrazené od najmenších po najväčšie:
9
17
20
54Java