Java - ArrayList klase


Klasa ArrayList Java kolekcija pruža funkcionalnost nizova promjenjive veličine. Klasa ArrayList implementuje interfejs liste.



Kreiranje ArrayList

Prije korištenja ArrayList, moramo prvo importovati paket java.util.ArrayList. Evo kako možemo kreirati liste nizova u Javi:

ArrayList<Type> arrayList= new ArrayList<>();

Ovdje Type označava tip liste nizova. Na primjer:

// Kreiranje arraylist tipa Integer
ArrayList<Integer> arrayList = new ArrayList<>();

// Kreirati Stringa tipa arraylist
ArrayList<String> arrayList = new ArrayList<>();

U gornjem programu koristili smo Integer ne int. To je zato što ne možemo koristiti primitivne tipove dok kreiramo listu nizova. Umjesto toga, moramo koristiti odgovarajuće klase. Ovdje je Integer odgovarajuća klasa za int.


Primjer: Kreirajte ArrayList u Javi

import java.util.ArrayList;

class Main {
  public static void main(String[] args){

    // Kreiranje ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // Dodavanje elementa u ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Swift");
    System.out.println("ArrayList: " + languages);
  }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:

ArrayList: [Java, Python, Swift]

U gornjem primjeru, kreirali smo ArrayList pod nazivom languages. Ovdje smo koristili metodu add() za dodavanje elemenata u listu nizova. Kasnije ćemo u ovoj lekciji naučiti više o add() metodi.



Osnovne operacije na ArrayList

Klasa ArrayList pruža različite metode za izvođenje različitih operacija na listama nizova. U ovoj lekciji ćemo pogledati neke najčešće korišćene operacije ArrayList:

  • Dodaj elemente (Add elements)
  • Pristupni elementima (Access elements)
  • Promijeni elemente (Change elements)
  • Ukloni elemente (Remove elements)


1. Dodavanje elemenata u ArrayList

Da bismo dodali jedan element u listu nizova, koristimo metodu add() klase ArrayList. Pogledajmo primjer:

import java.util.ArrayList;

class Main {
  public static void main(String[] args){
    // Kreiranje ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // Metoda add() bez index parametara
    languages.add("Java");
    languages.add("C");
    languages.add("Python");
    System.out.println("ArrayList: " + languages);
  }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:

ArrayList: [Java, C, Python]

U gornjem primjeru, kreirali smo ArrayList pod nazivom languages. Ovdje smo koristili metodu add() za dodavanje elemenata languages.



2. Pristupite elementima ArrayList

Da bismo pristupili elementu iz liste nizova, koristimo metodu get() klase ArrayList. Pogledajmo primjer:

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> animals = new ArrayList<>();

    // Dodavanje elemenata u arraylist
    animals.add("Mačka");
    animals.add("Pas");
    animals.add("Ptica");
    System.out.println("ArrayList: " + animals);

    // Dobijanje elementa iz arraylist
    String str = animals.get(1);
    System.out.print("Element na poziciji index 1: " + str);
  }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:

ArrayList: [Mačka, Pas, Ptica]
Element na poziciji index 1: Pas

U gornjem primjeru koristili smo metodu get() sa parametrom 1. Ovdje metoda vraća element sa indeksom 1. Takođe možemo pristupiti elementima ArrayList pomoću metode iterator().



3. Promijena elementa u ArrayList

Za promjenu elemenata liste nizova koristimo set() metodu klase ArrayList. Pogledajmo primjer:

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // Dodavanje elementa u listu niza
    languages.add("Java");
    languages.add("Kotlin");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

    // Promjena elementa liste niza
    languages.set(2, "JavaScript");
    System.out.println("Modifikovana ArrayList: " + languages);
  }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:

ArrayList: [Java, Kotlin, C++]
Modifikovana ArrayList: [Java, Kotlin, JavaScript]

U gornjem primjeru, kreirali smo ArrayList pod nazivom languages. Obratite pažnju na liniju koda:

language.set(2, "JavaScript");

Ovdje metoda set() mijenja element na indeksu 2 u JavaScript.



4. Uklanjanje elementa iz ArrayList

Da bismo uklonili element iz liste nizova, možemo koristiti metodu remove() klase ArrayList. Pogledajmo primjer:

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> animals = new ArrayList<>();

    // Dodavanje elemente u listu niza
    animals.add("Pas");
    animals.add("Mačka");
    animals.add("Ptica");
    System.out.println("ArrayList: " + animals);

    // Ukloni element koji ima index 2
    String str = animals.remove(2);
    System.out.println("Ažurirana ArrayList: " + animals);
    System.out.println("Uklonjeni element: " + str);
  }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:

ArrayList: [Pas, Mačka, Ptica]
Ažurirana ArrayList: [Pas, Mačka]
Uklonjeni element: Ptica

Ovdje metoda remove() uzima broj indeksa kao parametar i uklanja element specifikovan brojem indeksa.



Metode klase ArrayList

U prethodnom dijelu naučili smo o metodama add(), get(), set() i remove() klase ArrayList. Pored ovih osnovnih metoda, evo još nekih ArrayList metoda koje se najčešće koriste.

Metoda Opis
size() Vraća dužinu liste nizova.
sort() Sortiranje elementa niza.
clone() Kreira novu listu nizova sa istim elementima, veličinom i kapacitetom.
contains() Pretraživanje liste niza za navedeni element i vraća logički rezultat.
ensureCapacity() Određuje ukupan broj elementa koje lista nizova može da sadrži.
isEmpty() Provjerava da li je lista nizova prazna.
indexOf() Pretražuje navedeni element u listi nizova i vraća indeks elementa.


Iteriranje kroz ArrayList

Možemo koristiti Java for-each petlju kako bismo prošli kroz svaki element liste nizova. Pogledajmo primjer:

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // Kreiranje liste nizova
    ArrayList<String> animals = new ArrayList<>();
    animals.add("Pas");
    animals.add("Mačka");
    animals.add("Ptica");
    System.out.println("ArrayList: " + animals);

    // Iteracija pomoću for-each petlje
    System.out.println("Pristup pojedinačnim elementima:  ");

    for (String language : animals) {
      System.out.print(language);
      System.out.print(", ");
    }
  }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:

ArrayList: [Pas, Mačka, Ptica]
Pristup pojedinačnim elementima: 
Pas, Mačka, Ptica,