Mi az a Java lista?
A Java listák különösen alkalmasak olyan esetekben, amikor az adathalmaz mérete nem ismert előre, vagy ha a méret idővel várhatóan változni fog. Konkrét példákkal mutatjuk be, hogyan lehet használni a Java listákat, és milyen műveleteket lehet velük végrehajtani.
Mire használhatók a Java listák?
A listák a Java programozás egyik alapvető adatstruktúrája, és sokféle módon felhasználhatók. Elemekből állnak, amelyek rendezett sorrendben vannak elrendezve. A listában lévő elemeket hozzáadhatja, módosíthatja, törölheti vagy lekérdezheti. A Java listák különböző osztályokhoz tartozó objektumokat tartalmazhatnak. Lehetőség van duplikált elemek vagy null elemek tárolására is. Ezenkívül a Java listák támogatják a generikus osztályokat és módszereket, biztosítva ezzel a típusbiztonságot.
A listák adatbázis-alkalmazásokhoz használhatók. Itt adatbázis-lekérdezésekből származó nagy adathalmazok tárolására és elérésére szolgálnak. A grafikus felhasználói felületeken a Java-listákat gyakran használják elemek listájának megjelenítésére, például legördülő menükben szereplő opciók vagy online áruházakban található különböző termékek listájának megjelenítésére.
A Java listák algoritmusokban és adatstruktúrákban is elengedhetetlenek. Használják őket rendezési algoritmusokban, keresési algoritmusokban, valamint verem- és sorstruktúrákban. Hálózati alkalmazásokban a listák segíthetnek a kapcsolatok és a socketek kezelésében.
Milyen listamódszerekkel rendelkezik a Java?
A Java listák a Collection interfészhez tartoznak, és a java.util csomagból kell importálni őket. A Java ArrayList, LinkedList, Vector és Stack esetében különböző implementációs osztályok közül lehet választani. A listák különböző példányait a következő kóddal lehet deklarálni:
List linkedList = new LinkedList(); // LinkedList
List arrayList = new ArrayList(); // ArrayList
List vecList = new Vector(); // Vector
List stackList = new Stack(); //StackJavaÍme néhány a Java listákhoz használható legfontosabb módszer:
int size(): Meghatározza a lista elemeinek számátvoid add(int index, E element): Elem hozzáadása egy adott pozícióbaboolean isEmpty(): Ellenőrzi, hogy a lista üres-evoid clear(): Eltávolítja az összes elemet a listábólboolean contains(Object o): Visszaadja aztrueértéket, ha azoobjektum szerepel a listábanboolean add(E e): Elem hozzáadása a lista végéhezboolean remove(Object o): Eltávolítja az elem első előfordulásátE get(int index): Cseréli vagy beszúr egy elemet egy megadott indexbeE set(int index, E element): Egy elemet helyettesít vagy beilleszt egy megadott indexreObject[] toArray(): Visszaad egy tömböt, amely tartalmazza a lista elemeitList<E> subList(int fromIndex, int toIndex): Az összes elemet rögzíti a megadott intervallumon belüldefault void replaceAll(UnaryOperator<E> operator): Java 8 szabványos módszere, amely egyárú Java operátorokat alkalmaz minden elemre, majd minden elemet a művelet eredményével helyettesít.
A Java listák használata
Az alábbiakban bemutatjuk a Java listákkal való munkavégzés során általánosan használt módszereket. Ezek közé tartozik a tömbök listákká és listák tömbökké történő konvertálása, valamint az elemek rendezése, lekérése és módosítása.
Tömböt listává alakítás
A tömb listává alakításához ciklusokkal végigfuthat a tömbön, és a add() metódussal egyenként hozzáadhatja az elemeket a listához.
import java.util.*;
public class ArrayToList{
public static void main(String args[]){
// Creating Array
String[] colors={"blue","green","red","yellow"};
System.out.println("Array: "+Arrays.toString(colors));
//Converting Array to List
List<String> list=new ArrayList<String>();
for(String color: colors){
list.add(color);
}
System.out.println("List: "+list);
}
}JavaEz a következő kimenetet eredményezi:
Array: [blue, green, red, yellow]
List: [blue, green, red, yellow]JavaLista átalakítása tömbvé
A toArray(). módszerrel listát alakíthat át tömbé:
import java.util.*;
public class ListToArray{
public static void main(String args[]){
List<String> days = new ArrayList<String>();
days.add("Monday");
days.add("Tuesday");
days.add("Wednesday");
days.add("Thursday");
days.add("Friday");
days.add("Saturday");
days.add("Sunday");
// Converting ArrayList to Array
String[] array = days.toArray(new String[days.size()]);
System.out.println("Array: "+Arrays.toString(array));
System.out.println("List: "+days);
}
}JavaA kimenetben látható, hogy a tömb és a lista elemei megegyeznek:
Array: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
List: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]JavaElemek hívása és módosítása egy Java listában
A get() metódussal hozzáférhet egy elemhez egy adott indexen. A set() metódussal kicserélhet egy elemet egy másik elemmel a lista egy adott pozíciójában.
import java.util.*;
public class ListExample{
public static void main(String args[]){
// Creating a List
List<String> letters=new ArrayList<String>();
// Adding elements
letters.add("a");
letters.add("b");
letters.add("c");
// get()
System.out.println("Element at index 1: "+letters.get(1));
// set()
letters.set(2, "d");
for(String letter: letters)
System.out.println(letter);
}
}JavaMivel a Java-ban a számolás az index 0-tól kezdődik, a következő eredményt kapjuk:
Element at index 1: b
a
b
dJavaLista rendezése
A Java listát a Collections osztály .sort() metódusával rendezheti. A listát ciklussal végigfuthatja, és az elemeket egyenként kinyomtathatja a konzolra:
import java.util.*;
class SortArrayList{
public static void main(String args[]){
// Creating a list of numbers
List<Integer> numbers=new ArrayList<Integer>();
numbers.add(4);
numbers.add(57);
numbers.add(92);
numbers.add(26);
// Sorting
Collections.sort(numbers);
for(Integer number: numbers)
System.out.println(number);
}
}JavaA Java Listában szereplő számok a legkisebbtől a legnagyobbig jelennek meg a képernyőn:
4
26
57
92Java