Java ArrayList-klasse
Java ArrayList-klasse
In deze zelfstudie leren we over de klasse ArrayList in Java. We zullen aan de hand van voorbeelden leren over verschillende operaties en methoden van de arraylist.
De ArrayList
klasse van het Java-verzamelingsframework biedt de functionaliteit van resizable-arrays .
Het implementeert de List
interface.

Java ArrayList versus array
In Java moeten we de grootte van een array declareren voordat we deze kunnen gebruiken. Als de grootte van een array eenmaal is gedeclareerd, is het moeilijk om deze te wijzigen.
Om dit probleem op te lossen, kunnen we de ArrayList
. gebruiken klas. Het stelt ons in staat om aanpasbare arrays te maken.
In tegenstelling tot arrays kunnen arraylists automatisch de capaciteit aanpassen wanneer we er elementen aan toevoegen of verwijderen. Daarom zijn arraylijsten ook bekend als dynamische arrays .
Een arraylijst maken
Voordat u ArrayList
gebruikt , moeten we de java.util.ArrayList
. importeren pakket eerst. Hier is hoe we arraylijsten in Java kunnen maken:
ArrayList<Type> arrayList= new ArrayList<>();
Hier, Type geeft het type van een arraylist aan. Bijvoorbeeld,
// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();
// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();
In het bovenstaande programma hebben we Integer
. gebruikt niet int. Het is omdat we geen primitieve typen kunnen gebruiken tijdens het maken van een arraylist. In plaats daarvan moeten we de corresponderende wrapper-klassen gebruiken.
Hier, Integer
is de corresponderende wrapper-klasse van int
. Ga voor meer informatie naar de Java-wrapperklasse.
Voorbeeld:ArrayList maken in Java
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// Add elements to ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Swift");
System.out.println("ArrayList: " + languages);
}
}
Uitvoer
ArrayList: [Java, Python, Swift]
In het bovenstaande voorbeeld hebben we een ArrayList
. gemaakt genaamd talen .
Hier hebben we de add()
. gebruikt methode om elementen aan de arraylist toe te voegen. We zullen meer te weten komen over de add()
methode verderop in deze tutorial.
Basisbewerkingen op ArrayList
De ArrayList
class biedt verschillende methoden om verschillende bewerkingen op arraylists uit te voeren. We zullen in deze tutorial kijken naar enkele veelgebruikte arraylist-bewerkingen:
- Elementen toevoegen
- Toegangselementen
- Verander elementen
- Elementen verwijderen
1. Elementen toevoegen aan een ArrayList
Om een enkel element aan de arraylijst toe te voegen, gebruiken we de add()
methode van de ArrayList
klas. Bijvoorbeeld,
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// add() method without the index parameter
languages.add("Java");
languages.add("C");
languages.add("Python");
System.out.println("ArrayList: " + languages);
}
}
Uitvoer
ArrayList: [Java, C, Python]
In het bovenstaande voorbeeld hebben we een ArrayList
. gemaakt genaamd talen . Hier hebben we de add()
. gebruikt methode om elementen toe te voegen aan talen .
Bezoek de Java ArrayList add() voor meer informatie.
Andere manier om elementen aan arraylist toe te voegen
Hoe voeg je een element toe op een gespecificeerde positie in een ArrayList?
We kunnen ook een indexnummer doorgeven als een extra parameter voor de add()
methode om een element op de opgegeven positie toe te voegen. Bijvoorbeeld,
// add JavaScript at index 1
languages.add(1, "JavaScript");
// add C++ at index 3
languages.add(3, "C++");
Hoe voeg je alle elementen van een set toe aan een arraylist?
We kunnen ook alle elementen van een verzameling (set, map) toevoegen aan een arraylist met behulp van de addAll()
methode. Bijvoorbeeld,
import java.util.ArrayList;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// create a set
HashSet<String> vowels = new HashSet<>();
vowels.add("a");
vowels.add("e");
vowels.add("i");
// create an arraylist
ArrayList<String> alphabets = new ArrayList<>();
// add all elements of set to arraylist
alphabets.addAll(vowels);
System.out.println("ArrayList: " + alphabets);
}
}
// Output: ArrayList: [a, e, i]
Ga voor meer informatie naar Java ArrayList addAll().
2. Toegang tot ArrayList-elementen
Om toegang te krijgen tot een element uit de arraylist, gebruiken we de get()
methode van de ArrayList
klas. Bijvoorbeeld,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the arraylist
animals.add("Cat");
animals.add("Dog");
animals.add("Cow");
System.out.println("ArrayList: " + animals);
// get the element from the arraylist
String str = animals.get(1);
System.out.print("Element at index 1: " + str);
}
}
Uitvoer
ArrayList: [Cat, Dog, Cow] Element at index 1: Dog
In het bovenstaande voorbeeld hebben we de get()
. gebruikt methode met parameter 1 . Hier retourneert de methode het element op index 1 .
Ga voor meer informatie naar de Java ArrayList get().
We hebben ook toegang tot elementen van de ArrayList
met behulp van de iterator()
methode. Ga voor meer informatie naar Java ArrayList iterator().
3. ArrayList-elementen wijzigen
Om elementen van de arraylist te wijzigen, gebruiken we de set()
methode van de ArrayList
klas. Bijvoorbeeld,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Kotlin");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// change the element of the array list
languages.set(2, "JavaScript");
System.out.println("Modified ArrayList: " + languages);
}
}
Uitvoer
ArrayList: [Java, Kotlin, C++] Modified ArrayList: [Java, Kotlin, JavaScript]
In het bovenstaande voorbeeld hebben we een ArrayList
. gemaakt genaamd talen . Let op de lijn,
language.set(2, "JavaScript");
Hier, de set()
methode verandert het element op index 2 naar JavaScript .
Ga voor meer informatie naar de Java ArrayList set().
4. ArrayList-elementen verwijderen
Om een element uit de arraylist te verwijderen, kunnen we de remove()
. gebruiken methode van de ArrayList
klas. Bijvoorbeeld,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the array list
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("ArrayList: " + animals);
// remove element from index 2
String str = animals.remove(2);
System.out.println("Updated ArrayList: " + animals);
System.out.println("Removed Element: " + str);
}
}
Uitvoer
ArrayList: [Dog, Cat, Horse] Updated ArrayList: [Dog, Cat] Removed Element: Horse
Hier, de remove()
methode neemt het indexnummer als de parameter. En verwijdert het element gespecificeerd door het indexnummer .
Ga voor meer informatie naar de Java ArrayList remove().
We kunnen ook alle elementen in één keer uit de arraylist verwijderen. Ga voor meer informatie naar
- Java ArrayList removeAll()
- Java ArrayList clear()
Methoden van ArrayList Class
In het vorige gedeelte hebben we geleerd over de add()
, get()
, set()
, en remove()
methode van de ArrayList
klasse.
Naast deze basismethoden zijn hier nog enkele ArrayList
veelgebruikte methoden.
Methoden | Beschrijvingen |
---|---|
maat() | Retourneert de lengte van de arraylist. |
sort() | Sorteer de arraylist-elementen. |
kloon() | Maakt een nieuwe arraylist met hetzelfde element, dezelfde grootte en capaciteit. |
bevat() | Zoekt in de arraylist naar het opgegeven element en geeft een booleaans resultaat. |
ensureCapacity() | Specificeert het totale element dat de arraylist kan bevatten. |
isEmpty() | Controleert of de arraylist leeg is. |
indexOf() | Zoekt een gespecificeerd element in een arraylist en retourneert de index van het element. |
Als je meer wilt weten over alle verschillende methoden van arraylist, bezoek dan Java ArrayList-methoden.
Herhaal door een ArrayList
We kunnen de Java for-each-lus gebruiken om door elk element van de arraylist te lopen. Bijvoorbeeld,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// creating an array list
ArrayList<String> animals = new ArrayList<>();
animals.add("Cow");
animals.add("Cat");
animals.add("Dog");
System.out.println("ArrayList: " + animals);
// iterate using for-each loop
System.out.println("Accessing individual elements: ");
for (String language : animals) {
System.out.print(language);
System.out.print(", ");
}
}
}
Uitvoer
ArrayList: [Cow, Cat, Dog] Accessing individual elements: Cow, Cat, Dog,
Veelgestelde vragen
Wat is het verschil tussen Java ArrayList en LinkedList?
Enkele van de belangrijkste verschillen tussen ArrayList
en LinkedList
in Java zijn:
ArrayList | LinkedList |
Implementeert List interface | Implementeert List , Queue , en Deque interfaces. |
Slaat een enkele waarde op. | Slaat 3 waarden op:data, vorige en volgende adres |
Biedt de functionaliteit van een aanpasbare array. | Biedt de functionaliteit van een dubbel gelinkte lijst |
We kunnen de ArrayList
. converteren in een array met behulp van de toArray()
methode. Bijvoorbeeld,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Python");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// create a new array of String type
String[] arr = new String[languages.size()];
// convert ArrayList into an array
languages.toArray(arr);
System.out.print("Array: ");
// access elements of the array
for (String item : arr) {
System.out.print(item + ", ");
}
}
}
Uitvoer
ArrayList: [Java, Python, C++] Array: Java, Python, C++,
In het bovenstaande voorbeeld is de toArray()
methode converteert de talen arraylist naar een array en slaat deze op in arr . Ga voor meer informatie naar Java ArrayList toArray().
We gebruiken de asList()
methode van de Arrays
klas. asList()
gebruiken , moeten we de java.util.Arrays
. importeren pakket eerst. Bijvoorbeeld,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create an array of String type
String[] arr = { "Java", "Python", "C++" };
System.out.print("Array: ");
// print array
for (String str : arr) {
System.out.print(str);
System.out.print(" ");
}
// create an ArrayList from an array
ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
System.out.println("\nArrayList: " + languages);
}
}
Uitvoer
Array: Java Python C++ ArrayList: [Java, Python, C++]
In het bovenstaande programma hebben we eerst een array gemaakt arr
van de String
type. Let op de uitdrukking,
Arrays.asList(arr)
Hier, de asList()
methode converteert de array naar een arraylist.
We gebruiken de Arrays.asList()
methode om een arraylist in een enkele regel te maken en te initialiseren. Bijvoorbeeld,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create and initialize ArrayList
ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
Hoe een ArrayList naar String te converteren?
We gebruiken de toString()
methode van de ArrayList
class om een arraylist om te zetten in een string. Bijvoorbeeld,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Kotlin");
System.out.println("ArrayList: " + languages);
// convert ArrayList into a String
String str = languages.toString();
System.out.println("String: " + str);
}
}
Uitvoer
ArrayList: [Java, Python, Kotlin] String: [Java, Python, Kotlin]
Hier, de toString()
methode converteert de hele arraylist naar een enkele string. Ga voor meer informatie naar Java ArrayList toString().
We kunnen ook een arraylist maken met behulp van de List-interface. Dit komt omdat de klasse ArrayList de List-interface implementeert. Laten we een voorbeeld bekijken,
import java.util.ArrayList;
import java.util.List;
class Main {
public static void main(String[] args) {
// create arraylist using List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("C");
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
Java