Ebben az oktatóanyagban megismerkedhetünk a Java felület List felületével és annak módszereivel.
A Java-ban a List
felület rendezett gyűjtemény, amely lehetővé teszi számunkra az elemek egymás utáni tárolását és elérését. Kiterjeszti az Collection
interfészt.
A listát megvalósító osztályok
Mivel List
ez egy felület, nem hozhatunk létre belőle objektumokat.
Az List
interfész funkcióinak használatához ezeket az osztályokat használhatjuk:
- Tömb lista
- LinkedList
- Vektor
- Kazal
Ezeket az osztályokat a Gyűjtemények keretrendszer határozza meg, és megvalósítják az List
interfészt.
Hogyan kell használni a listát?
A Java- java.util.List
ban a használathoz csomagot kell importálnunk List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Itt hoztunk létre objektumokat list1 és list2 osztályok ArrayList
és LinkedList
. Ezek az objektumok felhasználhatják az List
interfész funkcióit .
A lista módszerei
Az List
interfész az interfész összes módszerét tartalmazza Collection
. Mert Collection
egy szuper felülete a List
.
Néhány, a Collection
felületen is elérhető felület általánosan használt módszer List
:
add()
- hozzáad egy elemet a listáhozaddAll()
- hozzáadja az egyik lista összes elemét a másikhozget()
- segít a listák elemeinek véletlenszerű elérésébeniterator()
- visszaadja az iterátor objektumot, amely felhasználható a listák elemeinek egymás utáni eléréséreset()
- megváltoztatja a listák elemeitremove()
- eltávolít egy elemet a listárólremoveAll()
- eltávolítja az összes elemet a listárólclear()
- eltávolítja az összes elemet a listáról (hatékonyabb, mintremoveAll()
)size()
- visszaadja a listák hosszáttoArray()
- egy listát tömbré alakítcontains()
- akkor tér vissza,true
ha egy lista megadott elemet tartalmaz
A List Interface megvalósítása
1. Az ArrayList osztály megvalósítása
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Kimenet
Lista: (1, 2, 3) Hozzáférhető elem: 3 Eltávolított elem: 2
További információért ArrayList
látogasson el a Java ArrayList oldalra.
2. A LinkedList osztály megvalósítása
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Kimenet
Lista: (1, 2, 3) Hozzáférhető elem: 3 A 3-as pozíció 1 eltávolított elem: 2
További információkért LinkedList
látogasson el a Java LinkedList oldalra.
Java List vs. Set
Az List
interfész és az Set
interfész is örökli a Collection
felületet. Van azonban némi különbség közöttük.
- A listák tartalmazhatnak ismétlődő elemeket. A halmazoknak azonban nem lehetnek duplikált elemei.
- A listák elemeit bizonyos sorrendben tároljuk. A halmazok elemei azonban csoportokban vannak tárolva, mint a matematika halmazai.
Most, hogy tudjuk, mi List
van, a következő oktatóanyagokban részletesen megnézzük megvalósításait ArrayList
és LinkedList
osztályait.