Java LinkedList
Java LinkedList
In het vorige hoofdstuk heb je geleerd over de ArrayList
klas. De LinkedList
klasse is bijna identiek aan de
ArrayList
:
Voorbeeld
// Import the LinkedList class
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
ArrayList versus LinkedList
De LinkedList
klasse is een verzameling die veel objecten van hetzelfde type kan bevatten, net als de ArrayList
.
De LinkedList
klasse heeft allemaal dezelfde methoden als de ArrayList
klasse, omdat ze allebei de List
interface implementeren. Dit betekent dat u op dezelfde manier items kunt toevoegen, wijzigen, verwijderen en de lijst kunt wissen.
Hoewel de ArrayList
klasse en de LinkedList
klasse op dezelfde manier kunnen worden gebruikt, zijn ze echter heel anders gebouwd.
Hoe de ArrayList werkt
De ArrayList
klasse heeft een normale array erin. Wanneer een element wordt toegevoegd, wordt het in de array geplaatst. Als de array niet groot genoeg is, wordt een nieuwe, grotere array gemaakt om de oude te vervangen en wordt de oude verwijderd.
Hoe de LinkedList werkt
Het LinkedList
slaat zijn artikelen op in 'containers'. De lijst heeft een link naar de eerste container en elke container heeft een link naar de volgende container in de lijst. Om een element aan de lijst toe te voegen, wordt het element in een nieuwe container geplaatst en die container wordt gekoppeld aan een van de andere containers in de lijst.
Wanneer te gebruiken
Gebruik een ArrayList
voor het opslaan en openen van gegevens en LinkedList
om gegevens te manipuleren.
LinkedList-methoden
In veel gevallen is het ArrayList
efficiënter omdat het gebruikelijk is om toegang te hebben tot willekeurige items in de lijst, maar het LinkedList
biedt verschillende methoden om bepaalde bewerkingen efficiënter uit te voeren:
Method | Description | Try it |
---|---|---|
addFirst() | Adds an item to the beginning of the list. | |
addLast() | Add an item to the end of the list | |
removeFirst() | Remove an item from the beginning of the list. | |
removeLast() | Remove an item from the end of the list | |
getFirst() | Get the item at the beginning of the list | |
getLast() | Get the item at the end of the list |