Како користити листе у Јави

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 listi
  • isEmpty() – Vraća true ako je lista prazna
  • contains() – Proverava da li lista sadrži određeni element
  • indexOf() i lastIndexOf() – Vraća indeks prvog i poslednjeg pojavljivanja određenog elementa
  • equals() – Poredi dve liste i vraća true 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.