Kako uporabljati Java ArrayList
ArrayList je ena izmed najpogosteje uporabljanih podatkovnih struktur v Javi. Omogoča dinamično spreminjanje in shranjevanje zbirke objektov. V tem vodiču vam predstavljamo sintakso Java ArrayList in pojasnimo, kdaj jo uporabiti.
Kakšna je razlika med ArrayList in Array v Javi?
Java ArrayList je dinamičen, kar pomeni, da se poveča ali pomanjša, ko se elementi dodajo ali odstranijo. Treba je omeniti, da je razred ArrayList del Java Collections Framework in ni na voljo v osnovi. Za razliko od nizov ga je treba uvoziti iz knjižnice java.util.
ArrayLists so primerna izbira, kadar se dolžina Java seznama lahko spreminja. Primeri vključujejo shranjevanje objektov, iskanje ali razvrščanje podatkov ter ustvarjanje seznamov ali čakalnih vrst.
Nasprotno pa velikosti niza ni mogoče spremeniti. To pomeni, da bi morali v idealnem primeru vnaprej vedeti število objektov, ki jih bo niz vseboval. Nizi so primerni za upravljanje vnaprej določenega niza primitivnih podatkovnih tipov, kot so int, float, char ali Boolean.
Ena od slabosti ArrayListov je, da lahko dostop do njih traja dlje. Medtem ko imajo nizi fiksni neprekinjen blok pomnilnika, objekti v ArrayListih niso shranjeni neprekinjeno. Pomembno je upoštevati prednosti in slabosti podatkovnih struktur, da lahko izberete tisto, ki najbolje ustreza vašemu primeru uporabe.
Kakšna je sintaksa za Java ArrayList?
Pred ustvarjanjem ArrayList je treba ustrezno razred uvoziti iz knjižnice java.util.
import java.util.ArrayList;JavaSplošna sintaksa je:
ArrayList<Type> arrayList= new ArrayList<>();Java»Tip« pomeni ustrezni tip podatkov v Java ArrayList.
Naslednji korak je sestaviti seznama strings in integers.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayLists uporabljajo ustrezno razredno ovojnico primitivnih podatkovnih tipov, tako da se obravnavajo kot objekti. To pomeni, da morate namesto int navesti integer.
Primeri metod Java ArrayList
Operacije, kot so dodajanje ali odstranjevanje elementov, se v ArrayListih ne izvajajo z Java operaterji, ampak prek vnaprej določenih metod. Spodaj vam bomo predstavili najpogostejše metode ArrayList.
Dodajanje elementov
Po ustvarjanju ArrayList ‘colours’ (tipString ) bomo dodali različne elemente z metodo .add().
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> colours = new ArrayList<>();
colours.add("blue");
colours.add("red");
colours.add("green");
System.out.println("ArrayList: " + colours);
}
}JavaTo ima za posledico:
ArrayList: [blue, red, green]JavaOdstranjevanje elementov
Za odstranjevanje objektov iz Java ArrayList uporabimo metodo .remove() in določimo indeks elementa.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colours = new ArrayList<>();
colours.add("blue");
colours.add("red");
colours.add("green");
System.out.println("ArrayList: " + colours);
String colour = colours.remove(1);
System.out.println("ArrayList: " + colours);
System.out.println("Removed Element: " + colour);
}
}JavaIzpis prikazuje spremenjeni ArrayList in element, ki je bil odstranjen:
ArrayList: [blue, green]
Removed Element: redJavaKot pri večini programskih jezikov se štetje v Javi začne pri 0. To pomeni, da je odstranjeni element na indeksu 1 red.
Dostop do elementov v Java ArrayList
S pomočjo funkcije .get() lahko dostopamo do elementa na določeni poziciji.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> clothes = new ArrayList<>();
clothes.add("jacket");
clothes.add("shirt");
clothes.add("pullover");
System.out.println("ArrayList: " + clothes);
String str = clothes.get(2);
System.out.print("Element at index 2: " + str);
}
}JavaZa izhod dobimo:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaSpreminjanje elementov
Z .set() lahko spremenimo element tako, da mu dodelimo nov element na določenem indeksu.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colours = new ArrayList<>();
colours.add("blue");
colours.add("red");
colours.add("green");
System.out.println("ArrayList: " + colours);
colours.set(2, "yellow");
System.out.println("Modified ArrayList: " + colours);
}
}JavaZdaj vidimo yellow namesto green na indeksu 2:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaDoločanje dolžine Java ArrayList
Število elementov v ArrayList se lahko enostavno izračuna z metodo .size().
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colours = new ArrayList<>();
colours.add("blue");
colours.add("red");
colours.add("green");
System.out.println(colours.size());
}
}JavaTo je rezultat:
3JavaRazvrščanje in ponavljanje skozi ArrayList
Za razvrščanje Java ArrayList je treba uvoziti razred zbirke. Za ponavljanje uporabljamo Java for-each zanko. Pri vsakem ponavljanju zanke se ustrezni element izpiše na konzolo.
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> ages = new ArrayList<Integer>();
ages.add(20);
ages.add(54);
ages.add(17);
ages.add(9);
Collections.sort(ages);
for (int i : ages) {
System.out.println(i);
}
}
}JavaElementi ArrayList so prikazani od najmanjšega do največjega:
9
17
20
54Javadc8b52a43898356b40686188ee9833ee
e55dd419814f58a4e87e39befe1f5071
f4923fd8ba30637c20154bb3a1e957db
1480612d3e8e40504c5d058a0c210e88
b1325df3e2dc7b9da8307052ded3fe1a
fb14891a5916797d4a2e3240e017ea35