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

Den 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<>();
Java
ArrayList<Integer> arrayList= new ArrayList<>();
Java

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

Detta resulterar i:

ArrayList: [blue, red, green]
Java

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

Utmatningen visar den modifierade ArrayList och det element som har tagits bort:

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

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

Som resultat får vi:

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

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

Nu ser vi yellow istället för green vid index 2:

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

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

Detta är resultatet:

3
Java

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

Elementen i ArrayList visas från minsta till största:

9
17
20
54
Java
Gå till huvudmeny