A Java ArrayList használata
Az ArrayList az egyik leggyakrabban használt adatstruktúra a Java nyelvben. Lehetővé teszi objektumok gyűjteményének dinamikus módosítását és tárolását. Ebben az oktatóanyagban bemutatjuk a Java ArrayList szintaxisát, és elmagyarázzuk, mikor érdemes használni.
Mi a különbség az ArrayList és az Array között Java-ban?
A Java ArrayList dinamikus, ami azt jelenti, hogy az elemek hozzáadásával vagy eltávolításával mérete növekszik vagy csökken. Érdemes megjegyezni, hogy az ArrayList osztály a Java Collections Framework része, és natívan nem érhető el. A tömbökkel ellentétben a java.util könyvtárból kell importálni.
Az ArrayListek akkor alkalmasak, ha a Java List hossza potenciálisan változhat. Példák: objektumok tárolása, adatok keresése vagy rendezése, listák vagy sorok létrehozása.
Ezzel szemben a tömb méretét nem lehet megváltoztatni. Ez azt jelenti, hogy ideális esetben előre tudnia kell, hogy a tömb hány objektumot fog tartalmazni. A tömbök előre meghatározott primitív adattípusok, például int, float, char vagy Boolean kezelésére alkalmasak.
Az ArrayList egyik hátránya, hogy az adatokhoz való hozzáférés hosszabb időt vehet igénybe. Míg a tömböknek fix, folyamatos memóriablokkjuk van, az ArrayList objektumai nem egymás mellett vannak tárolva. Fontos figyelembe venni az adatstruktúrák előnyeit és hátrányait, hogy kiválaszthassa a felhasználási esetéhez leginkább megfelelőt.
Mi a Java ArrayList szintaxisa?
Az ArrayList létrehozása előtt a megfelelő osztályt be kell importálni a java.util könyvtárból.
import java.util.ArrayList;JavaAz általános szintaxis:
ArrayList<Type> arrayList= new ArrayList<>();JavaA „Type” a Java ArrayList megfelelő adattípusát jelöli.
A következő lépés a strings és integers listák létrehozása.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaAz ArrayListek a primitív adattípusok megfelelő wrapper osztályát használják, így azok objektumként kezelhetők. Ez azt jelenti, hogy int helyett integer kell megadnia.
Példák a Java ArrayList metódusokra
Az elemek hozzáadása vagy eltávolítása nem Java operátorokkal történik az ArrayList-ekben, hanem előre definiált módszerekkel. Az alábbiakban bemutatjuk a leggyakrabban használt ArrayList módszereket.
Elemek hozzáadása
Miután létrehoztuk a „colours” ArrayList-et (String típus), a .add() metódussal hozzáadunk különböző elemeket.
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);
}
}JavaEz az alábbi eredményt adja:
ArrayList: [blue, red, green]JavaElemek eltávolítása
Az objektumok eltávolításához a Java ArrayList-ből a .remove() metódust használjuk, és megadjuk az elem indexét.
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);
}
}JavaA kimenet a módosított ArrayList-et és az eltávolított elemet mutatja:
ArrayList: [blue, green]
Removed Element: redJavaA legtöbb programozási nyelvhez hasonlóan a Java-ban is a számolás 0-tól kezdődik. Ez azt jelenti, hogy az 1. indexnél eltávolított elem red
Elemek elérése Java ArrayList-ben
A .get() függvény segítségével hozzáférhetünk egy adott pozícióban lévő elemhez.
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);
}
}JavaA kimenet:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaVáltozó elemek
A .set() verzióval egy elemet úgy módosíthatunk, hogy egy új elemet rendelünk hozzá egy adott indexhez.
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);
}
}JavaMost az index 2 helyett yellow látunk green helyett:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaA Java ArrayList hosszának meghatározása
Az ArrayList elemeinek száma könnyen kiszámítható a .size() metódus segítségével.
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());
}
}JavaEz az eredmény:
3JavaRendezés és iterálás az ArrayList-en keresztül
A Java ArrayList rendezéséhez be kell importálni a gyűjtemény osztályt. Az iterációhoz Java for-each ciklust használunk. A ciklus minden iterációjánál a megfelelő elem kimenetként megjelenik a konzolon.
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);
}
}
}JavaAz ArrayList elemei a legkisebbtől a legnagyobbig vannak sorba rendezve:
9
17
20
54Java