Liste predstavljaju fundamentalnu strukturu podataka u Javi, koja služi za skladištenje kolekcija elemenata. Slično nizovima, liste omogućavaju čuvanje više vrednosti, ali nude i naprednije funkcionalnosti koje ih čine znatno fleksibilnijim i moćnijim. Ovaj tekst će vas voditi kroz osnovne koncepte korišćenja lista u Javi, od njihovog kreiranja i inicijalizacije, preko manipulacije elementima, do naprednijih operacija.
Kreiranje lista
U Javi, liste se kreiraju korišćenjem interfejsa List
. Najčešće upotrebljavane implementacije su ArrayList
i LinkedList
.
// Kreiranje ArrayList-e
List<String> imena = new ArrayList<>();
// Kreiranje LinkedList-e
List<Integer> brojevi = new LinkedList<>();
Inicijalizacija lista
Liste se mogu inicijalizovati na dva načina: dodavanjem elemenata pojedinačno metodom add()
ili korišćenjem liste inicijalizatora.
// Dodavanje elemenata pojedinačno
imena.add("Jovan");
brojevi.add(10);
// Inicijalizacija listom inicijalizatora
List<String> zemlje = List.of("Srbija", "Hrvatska", "Slovenija");
Pristup elementima
Elementima liste pristupa se pomoću indeksa. Indeksi počinju od 0, što znači da prvi element ima indeks 0.
// Pristup prvom elementu
String prvoIme = imena.get(0);
// Pristup poslednjem elementu
int poslednjiBroj = brojevi.get(brojevi.size() - 1);
Uklanjanje elemenata
Elementi se mogu ukloniti iz liste pomoću metode remove()
ili removeIf()
.
// Uklanjanje prvog elementa
imena.remove(0);
// Uklanjanje elemenata sa određenom vrednošću
brojevi.removeIf(broj -> broj > 10);
Prolazak kroz liste
Java pruža nekoliko načina za iteraciju kroz elemente lista. Neki od najčešćih su:
- for-each petlja: Prolazi kroz svaki element liste u redosledu.
for (String ime : imena) {
System.out.println(ime);
}
- while petlja: Prolazi kroz listu dok se ne ispuni određeni uslov.
int indeks = 0;
while (indeks < imena.size()) {
System.out.println(imena.get(indeks));
indeks++;
}
- ListIterator: Omogućava dvosmernu iteraciju i izmenu elemenata.
ListIterator<Integer> iterator = brojevi.listIterator();
while (iterator.hasNext()) {
Integer broj = iterator.next();
// Izvršavanje neke akcije
}
Sortiranje lista
Liste se mogu sortirati pomoću metode sort()
. Sortiranje se obavlja prema prirodnom redosledu (leksikografski za stringove, numerički za brojeve) ili korišćenjem prilagođenog komparatora.
// Sortiranje po prirodnom redosledu
imena.sort();
// Sortiranje vlastitim komparatorom
brojevi.sort((a, b) -> a.compareTo(b));
Dodatne operacije nad listama
Pored osnovnih operacija, Java nudi i brojne druge korisne metode za rad sa listama, kao što su:
size()
– Vraća broj elemenata u listiisEmpty()
– Vraćatrue
ako je lista praznacontains()
– Proverava da li lista sadrži određeni elementindexOf()
ilastIndexOf()
– Vraća indeks prvog i poslednjeg pojavljivanja određenog elementaequals()
– Poredi dve liste i vraćatrue
ako su jednake
Zaključak
Liste u Javi su moćna i raznovrsna struktura podataka koja omogućava efikasno skladištenje i manipulaciju kolekcijama elemenata. Ovaj vodič je pružio sveobuhvatan pregled osnova korišćenja lista u Javi, pokrivajući sve od njihovog kreiranja do naprednih operacija. Razumevanjem ovih koncepata, možete iskoristiti puni potencijal lista u svojim Java programima i efikasno upravljati podacima.
Često postavljana pitanja (FAQ)
1. Koja je razlika između ArrayList
i LinkedList
u Javi?
ArrayList
je implementacija liste zasnovana na nizu i brza je za slučajan pristup elementima. LinkedList
je povezana lista, koja je efikasnija za operacije umetanja i brisanja.
2. Kako obrisati sve elemente iz liste?
Sve elemente možete obrisati metodom clear()
ili kreiranjem nove, prazne liste.
3. Kako preuzeti element iz liste?
Elemente preuzimate metodom get()
, gde se kao argument navodi indeks elementa.
4. Kako proveriti da li je lista prazna?
Za proveru praznine liste koristi se metoda isEmpty()
. Vraća true
ako je lista prazna, a false
ako nije.
5. Kako proveriti da li lista sadrži određeni element?
Metoda contains()
služi za proveru da li lista sadrži određeni element. Vraća true
ako ga sadrži, inače false
.
6. Kako sortirati listu?
Listu sortirate pomoću metode sort()
. Sortiranje može biti po prirodnom poretku ili uz korišćenje prilagođenog komparatora.
7. Kako izmeniti element u listi?
Element u listi menjate pomoću metode set()
, navodeći indeks elementa i novu vrednost.
8. Kako dodati sve elemente iz jedne liste u drugu?
Za dodavanje svih elemenata iz jedne liste u drugu, koristi se metoda addAll()
. Druga lista se menja i sadrži dodatne elemente.
9. Kako izbrisati određeni element iz liste?
Element iz liste brišete metodom remove()
, navodeći indeks ili sam element kao argument.
10. Kako proveriti veličinu liste?
Veličina liste se dobija metodom size()
, koja vraća broj elemenata u listi.