Hvordan bruke Java ArrayList
ArrayList er en av de mest brukte datastrukturene i Java. Den lar deg dynamisk endre og lagre en samling av objekter. I denne veiledningen introduserer vi deg for syntaksen til Java ArrayList og forklarer når du bør bruke den.
Hva er forskjellen mellom ArrayList og Array i Java?
Java ArrayList er dynamisk, noe som betyr at den vokser og krymper i størrelse når elementer legges til eller fjernes. Det er verdt å merke seg at ArrayList-klassen er en del av Java Collections Framework og ikke er tilgjengelig som standard. I motsetning til matriser må den importeres fra java.util-biblioteket.
ArrayLists er et godt valg når lengden på en Java List kan variere. Eksempler er lagring av objekter, søking eller sortering av data og oppretting av lister eller køer.
Derimot er det ikke mulig å endre størrelsen på en matrise. Dette betyr at du ideelt sett bør vite på forhånd hvor mange objekter matrisen skal inneholde. Matriser er egnet for å håndtere et forhåndsdefinert sett med primitive datatyper som int, float, char eller Boolean.
En ulempe med ArrayLists er at det kan ta lengre tid å få tilgang til dem. Mens arrays har en fast, sammenhengende minneblokk, lagres ikke objekter i ArrayLists sammenhengende. Det er viktig å ta hensyn til fordelene og ulempene ved datastrukturene, slik at du kan velge den som passer best for ditt bruksområde.
Hva er syntaksen for Java ArrayList?
Før du oppretter ArrayList, må den tilsvarende klassen importeres fra java.util -biblioteket.
import java.util.ArrayList;JavaDen generelle syntaksen er:
ArrayList<Type> arrayList= new ArrayList<>();Java«Type» står for den respektive datatypen i Java ArrayList.
Det neste trinnet er å lage lister med strings og integers.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayLists bruker den tilsvarende wrapper-klassen for primitive datatyper, slik at de behandles som objekter. Dette betyr at du må spesifisere integer i stedet for int.
Eksempler på Java ArrayList-metoder
Operasjoner som å legge til eller fjerne elementer utføres ikke på ArrayLists med Java-operatorer, men via forhåndsdefinerte metoder. Nedenfor viser vi deg de vanligste ArrayList-metodene.
Legge til elementer
Etter å ha opprettet ArrayList «colours» (String type), legger vi til ulike elementer ved hjelp av 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]JavaFjerne elementer
For å fjerne objekter fra Java ArrayList bruker vi metoden .remove() og angir 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);
}
}JavaUtdataene viser den endrede ArrayList og elementet som er fjernet:
ArrayList: [blue, green]
Removed Element: redJavaSom med de fleste programmeringsspråk starter telling i Java fra 0. Dette betyr at det fjernede elementet ved indeks 1 er red.
Tilgang til elementer i Java ArrayList
Ved hjelp av funksjonen .get() kan vi få tilgang til et element på en bestemt posisjon.
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);
}
}JavaFor utdataen får vi:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaEndring av elementer
Med .set() kan vi endre et element ved å tilordne et nytt element til en 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 nå yellow i stedet for green på indeks 2:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaBestemme lengden på Java ArrayList
Antall elementer i ArrayList kan enkelt beregnes ved hjelp av 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 iterasjon gjennom ArrayList
For å sortere Java ArrayList må samlingsklassen importeres. For iterasjonen bruker vi en Java for-each-sløyfe. For hver iterasjon av sløyfen sendes det respektive elementet 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);
}
}
}JavaElementene i ArrayList vises fra minste til største:
9
17
20
54Javadc8b52a43898356b40686188ee9833ee
e55dd419814f58a4e87e39befe1f5071
f4923fd8ba30637c20154bb3a1e957db
1480612d3e8e40504c5d058a0c210e88
b1325df3e2dc7b9da8307052ded3fe1a