Kaip naudoti Java ArrayList
ArrayList yra viena iš dažniausiai naudojamų duomenų struktūrų Java kalboje. Ji leidžia dinamiškai keisti ir saugoti objektų rinkinį. Šiame pamokų cikle supažindinsime jus su Java ArrayList sintakse ir paaiškinsime, kada ją naudoti.
Koks yra skirtumas tarp ArrayList ir Array Java kalboje?
Java ArrayList yra dinamiškas, tai reiškia, kad jo dydis didėja ir mažėja, kai elementai yra pridedami arba pašalinami. Verta paminėti, kad ArrayList klasė yra Java Collections Framework dalis ir nėra prieinama iš karto. Skirtingai nei masyvai, ji turi būti importuota iš java.util bibliotekos.
ArrayLists yra tinkamas pasirinkimas, kai Java sąrašo ilgis gali kisti. Pavyzdžiai: objektų saugojimas, duomenų paieška ar rūšiavimas, sąrašų ar eilių kūrimas.
Priešingai, masyvo dydžio pakeisti negalima. Tai reiškia, kad idealiu atveju turėtumėte iš anksto žinoti, kiek objektų tilps į masyvą. Masyvai tinka iš anksto apibrėžtų primityvių duomenų tipų, pvz., int, float, char arba Boolean, rinkiniams tvarkyti.
Vienas iš ArrayList trūkumų yra tai, kad prieiga prie jų gali užtrukti ilgiau. Nors masyvai turi fiksuotą ištisinį atminties bloką, objektai ArrayList nėra saugomi ištisai. Svarbu atsižvelgti į duomenų struktūrų privalumus ir trūkumus, kad galėtumėte pasirinkti tą, kuri geriausiai tinka jūsų naudojimo atvejui.
Kokia yra Java ArrayList sintaksė?
Prieš kuriant ArrayList, atitinkama klasė turi būti importuota iš java.util bibliotekos.
import java.util.ArrayList;JavaBendroji sintaksė yra tokia:
ArrayList<Type> arrayList= new ArrayList<>();Java„Type“ reiškia atitinkamą duomenų tipą Java ArrayList.
Kitas žingsnis – sudaryti strings ir integers sąrašus.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayLists naudoja atitinkamą primityvių duomenų tipų apgaubimo klasę, kad jie būtų traktuojami kaip objektai. Tai reiškia, kad turite nurodyti integer, o ne int.
Java ArrayList metodų pavyzdžiai
Tokios operacijos kaip elementų pridėjimas ar pašalinimas nėra atliekamos ArrayList sąrašuose naudojant Java operatorius, bet per iš anksto apibrėžtus metodus. Toliau pateiksime dažniausiai naudojamus ArrayList metodus.
Elementų pridėjimas
Sukūrę ArrayList „colours“ (String tipo), pridėsime įvairius elementus naudodami .add() metodą.
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);
}
}JavaTai duoda tokį rezultatą:
ArrayList: [blue, red, green]JavaElementų pašalinimas
Norėdami pašalinti objektus iš Java ArrayList, naudojame .remove() metodą ir nurodome elemento 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);
String colour = colours.remove(1);
System.out.println("ArrayList: " + colours);
System.out.println("Removed Element: " + colour);
}
}JavaRezultatas rodo pakeistą ArrayList ir pašalintą elementą:
ArrayList: [blue, green]
Removed Element: redJavaKaip ir daugumoje programavimo kalbų, skaičiavimas Java kalboje prasideda nuo 0. Tai reiškia, kad pašalintas elementas indekse 1 yra red.
Prieiga prie elementų Java ArrayList
Naudodami funkciją .get(), galime pasiekti elementą tam tikroje pozicijoje.
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);
}
}JavaGautas rezultatas:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaKintantys elementai
Naudodami .set(), galime pakeisti elementą, priskirdami naują elementą tam tikrame indekse.
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);
}
}JavaDabar indeksu 2 matome yellow vietoj green:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaJava ArrayList ilgio nustatymas
ArrayList elementų skaičių galima lengvai apskaičiuoti naudojant .size() metodą.
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());
}
}JavaTai yra rezultatas:
3JavaRūšiavimas ir kartojimas per ArrayList
Norint rūšiuoti Java ArrayList, reikia importuoti kolekcijų klasę. Iteracijai naudojame Java for-each ciklą. Kiekvienos ciklo iteracijos metu atitinkamas elementas išvedamas į konsolę.
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 elementai rodomi nuo mažiausio iki didžiausio:
9
17
20
54Javadc8b52a43898356b40686188ee9833ee
e55dd419814f58a4e87e39befe1f5071
f4923fd8ba30637c20154bb3a1e957db