Kuidas kasutada Java ArrayList'i
ArrayList on üks Java kõige kasutatavamaid andmestruktuure. See võimaldab teil dünaamiliselt muuta ja salvestada objektide kogumit. Selles õpetuses tutvustame teile Java ArrayList’i süntaksit ja selgitame, millal seda kasutada.
Mis vahe on Java keeles ArrayList ja Array vahel?
Java ArrayList on dünaamiline, mis tähendab, et selle suurus kasvab ja kahaneb, kui elemente lisatakse või eemaldatakse. Tuleb märkida, et ArrayList-klass on osa Java Collections Frameworkist ja ei ole algselt kättesaadav. Erinevalt massiividest tuleb see importida java.util-raamatukogust.
ArrayList on sobiv valik, kui Java List pikkus võib potentsiaalselt varieeruda. Näiteks objektide salvestamine, andmete otsimine või sorteerimine ning nimekirjade või järjekordade loomine.
Seevastu massiivi suurust ei ole võimalik muuta. See tähendab, et ideaalis peaksite eelnevalt teadma, kui palju objekte massiiv mahutab. Massiivid sobivad eeldefineeritud primitiivsete andmetüüpide, nagu int, float, char või Boolean, haldamiseks.
ArrayListide üheks puuduseks on see, et nende juurdepääs võib võtta kauem aega. Kui massiividel on kindel pidev mälublokk, siis ArrayListide objektid ei ole järjestikku salvestatud. On oluline võtta arvesse andmestruktuuride eeliseid ja puudusi, et saaksite valida oma kasutusjuhtumile kõige sobivama.
Mis on Java ArrayList’i süntaks?
Enne ArrayList’i loomist tuleb vastav klass importida java.util raamatukogust.
import java.util.ArrayList;JavaÜldine süntaks on:
ArrayList<Type> arrayList= new ArrayList<>();Java„Type” tähistab vastavat andmetüüpi Java ArrayListis.
Järgmine samm on luua nimekirjad strings ja integers.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayListid kasutavad vastavaid primitiivseid andmetüüpe ümbritsevaid klasse, et neid saaks käsitleda objektidena. See tähendab, et peate määrama integer asemel int.
Näited Java ArrayList meetoditest
Elementide lisamine või eemaldamine ei toimu ArrayListides Java operaatoritega, vaid eeldefineeritud meetodite abil. Allpool tutvustame teile kõige levinumaid ArrayList meetodeid.
Elementide lisamine
Pärast ArrayList ‘colours’ (String tüüpi) loomist lisame erinevaid elemente, kasutades meetodit .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);
}
}JavaSelle tulemuseks on:
ArrayList: [blue, red, green]JavaElementide eemaldamine
Objektide eemaldamiseks Java ArrayListist kasutame meetodit .remove() ja määrame elemendi indeksi.
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);
}
}JavaVäljund näitab muudetud ArrayList’i ja eemaldatud elementi:
ArrayList: [blue, green]
Removed Element: redJavaNagu enamikus programmeerimiskeeltes, algab loendamine Java keeles 0-st. See tähendab, et indeksist 1 eemaldatud element on red.
Java ArrayListis elementidele juurdepääs
Funktsiooni .get() abil saame juurdepääsu elemendile kindlas asukohas.
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);
}
}JavaVäljundiks saame:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaMuutuvad elemendid
.set() abil saame muuta elementi, määrates uue elemendi kindlale indeksile.
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);
}
}JavaNüüd näeme indeksil 2 green asemel yellow:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaJava ArrayList’i pikkuse määramine
ArrayListis olevate elementide arvu saab hõlpsasti arvutada, kasutades .size() meetodit.
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());
}
}JavaSee on tulemus:
3JavaArrayList’i sorteerimine ja läbivaatamine
Java ArrayList’i sorteerimiseks tuleb importida kollektsiooniklass. Iteratsiooni jaoks kasutame Java for-each-tsüklit. Iga tsükli iteratsiooni puhul väljastatakse vastav element konsooli.
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);
}
}
}JavaArrayList’i elemendid kuvatakse väikseimast suurima järgi:
9
17
20
54Javadc8b52a43898356b40686188ee9833ee
e55dd419814f58a4e87e39befe1f5071
f4923fd8ba30637c20154bb3a1e957db
f688b820b8660a3cf4e4a5aaedc163ca