U ovom uputstvu naučit ćemo o sučelju Lista u Javi i njegovim metodama.
U Javi je List
sučelje uređena zbirka koja nam omogućuje redno pohranjivanje i pristup elementima. Proširuje Collection
sučelje.
Klase koje implementiraju popis
Budući da List
je sučelje, od njega ne možemo stvarati objekte.
Da bismo koristili funkcionalnosti List
sučelja, možemo koristiti ove klase:
- ArrayList
- LinkedList
- Vektor
- Stog
Te su klase definirane u okviru Collections i implementiraju List
sučelje.
Kako koristiti popis?
U Javi moramo uvesti java.util.List
paket da bismo ga mogli koristiti List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Ovdje smo kreirali objekte list1 i list2 klasa ArrayList
i LinkedList
. Ti objekti mogu koristiti funkcionalnosti List
sučelja.
Metode popisa
List
Sučelje uključuje sve metode iz Collection
sučelja. To je zato što Collection
je super sučelje List
.
Neke od najčešće korištenih metoda Collection
sučelja koje su također dostupne u List
sučelju su:
add()
- dodaje element na popisaddAll()
- dodaje sve elemente jednog popisa na drugiget()
- pomaže slučajnom pristupu elementima s popisaiterator()
- vraća objekt iteratora koji se može koristiti za sekvencijalni pristup elementima popisaset()
- mijenja elemente popisaremove()
- uklanja element sa popisaremoveAll()
- uklanja sve elemente s popisaclear()
- uklanja sve elemente s popisa (učinkovitiji odremoveAll()
)size()
- vraća duljinu popisatoArray()
- pretvara popis u nizcontains()
- vraćatrue
ako popis sadrži navedeni element
Provedba sučelja popisa
1. Implementacija klase ArrayList
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); ) )
Izlaz
Popis: (1, 2, 3) Pristupljeni element: 3 Uklonjeni element: 2
Da biste saznali više o tome ArrayList
, posjetite Java ArrayList.
2. Implementacija klase LinkedList
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); ) )
Izlaz
Popis: (1, 2, 3) Pristupljeni element: 3 Pozicija 3 je 1 Uklonjeni element: 2
Da biste saznali više o tome LinkedList
, posjetite Java LinkedList.
Popis Java u odnosu na skup
I List
sučelje i Set
sučelje nasljeđuju Collection
sučelje. Međutim, postoji neka razlika između njih.
- Popisi mogu sadržavati dvostruke elemente. Međutim, skupovi ne mogu imati dvostruke elemente.
- Elementi na popisima pohranjuju se u nekom redoslijedu. Međutim, elementi u skupovima pohranjuju se u skupine poput skupova u matematici.
Sad kad znamo što List
je, vidjet ćemo njegove implementacije ArrayList
i LinkedList
klase u sljedećim vodičima.