Sådan bruges Java ArrayList
ArrayList er en af de mest anvendte datastrukturer i Java. Den giver dig mulighed for dynamisk at ændre og gemme en samling af objekter. I denne vejledning introducerer vi dig til syntaksen i Java ArrayList og forklarer, hvornår du skal bruge den.
Hvad er forskellen mellem ArrayList og Array i Java?
Java ArrayList er dynamisk, hvilket betyder, at den vokser og krymper i størrelse, når elementer tilføjes eller fjernes. Det er værd at bemærke, at ArrayList-klassen er en del af Java Collections Framework og ikke er tilgængelig som standard. I modsætning til arrays skal den importeres fra java.util-biblioteket.
ArrayLists er et godt valg, når længden af en Java List potentielt kan variere. Eksempler herpå er lagring af objekter, søgning eller sortering af data og oprettelse af lister eller køer.
Derimod er det ikke muligt at ændre størrelsen på en matrix. Det betyder, at du helst bør kende antallet af objekter, som matrixen skal indeholde, på forhånd. Matrixer er velegnede til at administrere et foruddefineret sæt af primitive datatyper såsom int, float, char eller Boolean.
En ulempe ved ArrayLists er, at det kan tage længere tid at få adgang til dem. Mens arrays har en fast sammenhængende hukommelsesblok, gemmes objekter i ArrayLists ikke sammenhængende. Det er vigtigt at tage højde for fordele og ulemper ved datastrukturerne, så du kan vælge den, der fungerer bedst til dit brugsscenarie.
Hvad er syntaksen for Java ArrayList?
Før ArrayList oprettes, skal den tilsvarende klasse importeres fra java.util -biblioteket.
import java.util.ArrayList;JavaDen generelle syntaks er:
ArrayList<Type> arrayList= new ArrayList<>();Java‘Type’ står for den respektive datatype i Java ArrayList.
Det næste trin er at oprette lister med strings og integers.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayLists bruger den tilsvarende wrapper-klasse af primitive datatyper, så de behandles som objekter. Det betyder, at du skal angive integer i stedet for int.
Eksempler på Java ArrayList-metoder
Handlinger som tilføjelse eller fjernelse af elementer udføres ikke på ArrayLists med Java-operatorer, men via foruddefinerede metoder. Nedenfor viser vi dig de mest almindelige ArrayList-metoder.
Tilføjelse af elementer
Efter at have oprettet ArrayList ‘colours’ (String type), tilføjer vi forskellige elementer ved hjælp af metoden .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);
}
}JavaDette resulterer i:
ArrayList: [blue, red, green]JavaFjernelse af elementer
For at fjerne objekter fra Java ArrayList bruger vi metoden .remove() og angiver elementets 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);
}
}JavaOutputtet viser den ændrede ArrayList og det element, der er blevet fjernet:
ArrayList: [blue, green]
Removed Element: redJavaSom med de fleste programmeringssprog starter tællingen i Java fra 0. Det betyder, at det fjernede element ved indeks 1 er red.
Adgang til elementer i Java ArrayList
Ved hjælp af funktionen .get() kan vi få adgang til et element på en bestemt position.
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);
}
}JavaSom resultat får vi:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaSkiftende elementer
Med .set() kan vi ændre et element ved at tildele et nyt element ved et bestemt 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);
}
}JavaVi ser nu yellow i stedet for green ved indeks 2:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaBestemmelse af længden af Java ArrayList
Antallet af elementer i ArrayList kan nemt beregnes ved hjælp af metoden .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());
}
}JavaDette er resultatet:
3JavaSortering og iteration gennem ArrayList
For at sortere Java ArrayList skal collections-klassen importeres. Til iterationen bruger vi en Java for-each-loop. For hver iteration af loopen udskrives det respektive element til konsollen.
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);
}
}
}JavaElementerne i ArrayList vises fra det mindste til det største:
9
17
20
54Javadc8b52a43898356b40686188ee9833ee