ArrayList ir viena no visbiežāk iz­man­to­ta­jām datu struk­tū­rām Java. Tā ļauj dinamiski modificēt un saglabāt objektu kopu. Šajā apmācībā ie­pa­zīs­ti­nā­sim jūs ar Java ArrayList sintaksi un iz­skaid­ro­sim, kad to lietot.

Kāda ir atšķirība starp ArrayList un Array Java valodā?

Java ArrayList ir dinamisks, kas nozīmē, ka tā izmērs pa­lie­li­nās vai samazinās, kad tiek pie­vie­no­ti vai noņemti elementi. Ir vērts atzīmēt, ka ArrayList klase ir daļa no Java Col­lec­tions Framework un nav pieejama nativā veidā. Atšķirībā no masīviem, tā ir jāimportē no java.util bib­lio­tē­kas.

ArrayLists ir piemērota izvēle, ja Java List garums var mainīties. Piemēri ietver objektu uz­gla­bā­ša­nu, datu meklēšanu vai šķirošanu, kā arī sarakstu vai rindu veidošanu.

Turpretim masīva izmēru mainīt nav iespējams. Tas nozīmē, ka ideālā gadījumā jums jau iepriekš jāzina, cik daudz objektu masīvs ietilps. Masīvi ir piemēroti, lai pār­val­dī­tu iepriekš definētu primitīvo datu tipu kopumu, piemēram, int, float, char vai Boolean.

Viens no ArrayLists trūkumiem ir tas, ka piekļuve tiem var aizņemt vairāk laika. Kamēr masīviem ir fiksēts ne­pār­traukts atmiņas bloks, objekti ArrayLists netiek glabāti secīgi. Ir svarīgi ņemt vērā datu struktūru priekš­ro­cī­bas un trūkumus, lai varētu iz­vē­lē­ties to, kas vislabāk atbilst jūsu lie­to­ša­nas gadījumam.

Kāda ir Java ArrayList sintakse?

Pirms ArrayList iz­vei­do­ša­nas at­bil­sto­šā klase ir jāimportē no java.util bib­lio­tē­kas.

import java.util.ArrayList;
Java

Vispārīgā sintakse ir:

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

„Tips” apzīmē attiecīgo datu tipu Java ArrayList.

Nākamais solis ir izveidot sarakstus ar strings un integers.

ArrayList<String> arrayList= new ArrayList<>();
Java
ArrayList<Integer> arrayList= new ArrayList<>();
Java

ArrayLists izmanto at­bil­sto­šo primitīvo datu tipu ietverošo klasi, lai tos ap­strā­dā­tu kā objektus. Tas nozīmē, ka jums jānorāda integer, nevis int.

Java ArrayList metožu piemēri

Darbības, piemēram, elementu pie­vie­no­ša­na vai noņemšana, ArrayList sarakstos netiek veiktas ar Java ope­ra­to­riem, bet gan ar iepriekš definētām metodēm. Turpmāk parādīsim visbiežāk iz­man­to­tās ArrayList metodes.

Elementu pie­vie­no­ša­na

Pēc ArrayList ‘colours’ (String tipa) iz­vei­do­ša­nas mēs pie­vie­no­sim dažādus elementus, iz­man­to­jot .add() metodi.

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);
    }
}
Java

Rezultāts ir šāds:

ArrayList: [blue, red, green]
Java

Elementu noņemšana

Lai no Java ArrayList izņemtu objektus, mēs iz­man­to­jam .remove() metodi un norādām elementa 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);
        String colour = colours.remove(1);
        System.out.println("ArrayList: " + colours);
        System.out.println("Removed Element: " + colour);
    }
}
Java

Rezultātā tiek parādīts mo­di­fi­cē­tais ArrayList un elements, kas ir ticis noņemts:

ArrayList: [blue, green]
Removed Element: red
Java

Tāpat kā lielākajā daļā prog­ram­mē­ša­nas valodu, skai­tī­ša­na Java sākas no 0. Tas nozīmē, ka izņemtais elements indeksā 1 ir red.

Piekļuve ele­men­tiem Java ArrayList

Iz­man­to­jot funkciju .get(), mēs varam piekļūt elementam konkrētā pozīcijā.

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);
    }
}
Java

Rezultātā iegūstam:

ArrayList: [jacket, shirt, pullover]
Element at index 2: pullover
Java

Mainīgie elementi

Ar .set() mēs varam mainīt elementu, piešķirot jaunu elementu konkrētā indeksā.

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);
    }
}
Java

Tagad indeksā 2 redzam yellow, nevis green:

ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]
Java

Java ArrayList garuma no­teik­ša­na

ArrayList elementu skaitu var viegli aprēķināt, iz­man­to­jot .size() metodi.

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());
    }
}
Java

Šis ir rezultāts:

3
Java

Kārtēšana un iterēšana caur ArrayList

Lai šķirotu Java ArrayList, ir jāimportē kolekciju klase. Ite­rā­ci­jai mēs iz­man­to­jam Java for-each cilpu. Katrai cilpas ite­rā­ci­jai at­tie­cī­gais elements tiek izvadīts uz konsoli.

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);
        }
    }
}
Java

ArrayList elementi tiek parādīti no mazākā līdz lie­lā­ka­jam:

9
17
20
54
Java

dc8b52a43898356b40686188ee9833ee

e55dd419814f58a4e87e39befe1f5071

f4923fd8ba30637c20154bb3a1e957db

1480612d3e8e40504c5d058a0c210e88

7b065982cce37925c832fcd65028022c

Go to Main Menu