Hur man använder Java ArrayList
ArrayList är en av de mest använda datastrukturerna i Java. Den gör det möjligt att dynamiskt modifiera och lagra en samling objekt. I den här handledningen introducerar vi syntaxen för Java ArrayList och förklarar när den ska användas.
Vad är skillnaden mellan ArrayList och Array i Java?
Java ArrayList är dynamisk, vilket innebär att den växer och krymper i storlek när element läggs till eller tas bort. Det är värt att notera att ArrayList-klassen är en del av Java Collections Framework och inte är tillgänglig som standard. Till skillnad från arrayer måste den importeras från biblioteket java.util.
ArrayLists är ett lämpligt val när längden på en Java-lista kan variera. Exempel på detta är lagring av objekt, sökning eller sortering av data samt skapande av listor eller köer.
Däremot är det inte möjligt att ändra storleken på en array. Det innebär att du helst bör veta i förväg hur många objekt arrayen kommer att innehålla. Arrays är lämpliga för hantering av en fördefinierad uppsättning primitiva datatyper såsom int, float, char eller Boolean.
En nackdel med ArrayLists är att det kan ta längre tid att komma åt dem. Medan arrayer har ett fast kontinuerligt minnesblock, lagras objekt i ArrayLists inte kontinuerligt. Det är viktigt att ta hänsyn till fördelarna och nackdelarna med datastrukturerna så att du kan välja den som fungerar bäst för ditt användningsfall.
Vad är syntaxen för Java ArrayList?
Innan ArrayList skapas måste motsvarande klass importeras från biblioteket java.util.
import java.util.ArrayList;JavaDen allmänna syntaxen är:
ArrayList<Type> arrayList= new ArrayList<>();Java“Typ” står för respektive datatyp i Java ArrayList.
Nästa steg är att skapa listor med strings och integers.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayLists använder motsvarande wrapperklass för primitiva datatyper så att de behandlas som objekt. Det innebär att du måste ange integer istället för int.
Exempel på Java ArrayList-metoder
Åtgärder som att lägga till eller ta bort element utförs inte på ArrayLists med Java-operatorer, utan via fördefinierade metoder. Nedan visar vi de vanligaste ArrayList-metoderna.
Lägga till element
Efter att ha skapat ArrayList “colours” (typString ) lägger vi till olika element med hjälp 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);
}
}JavaDetta resulterar i:
ArrayList: [blue, red, green]JavaTa bort element
För att ta bort objekt från Java ArrayList använder vi metoden .remove() och anger elementets index.
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);
}
}JavaUtmatningen visar den modifierade ArrayList och det element som har tagits bort:
ArrayList: [blue, green]
Removed Element: redJavaSom med de flesta programmeringsspråk börjar räkningen i Java från 0. Det betyder att det borttagna elementet vid index 1 är red.
Åtkomst till element i Java ArrayList
Med hjälp av funktionen .get() kan vi komma åt ett element på en specifik 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: pulloverJavaFörändrande element
Med .set() kan vi ändra ett element genom att tilldela ett nytt element vid ett specifikt index.
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);
}
}JavaNu ser vi yellow istället för green vid index 2:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaBestämma längden på Java ArrayList
Antalet element i ArrayList kan enkelt beräknas med hjälp 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());
}
}JavaDetta är resultatet:
3JavaSortering och iteration genom ArrayList
För att sortera Java ArrayList måste klassen collections importeras. För iterationen använder vi en Java for-each-slinga. För varje iteration av slingan matas respektive element ut till konsolen.
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);
}
}
}JavaElementen i ArrayList visas från minsta till största:
9
17
20
54Java
