Java Deque-interface
Java Deque-interface
In deze zelfstudie leren we over de Deque-interface, hoe deze te gebruiken en zijn methoden.
De Deque
interface van het Java-verzamelingsframework biedt de functionaliteit van een wachtrij met twee uiteinden. Het verlengt de Queue
interface.
Werking van Deque
In een reguliere wachtrij worden elementen van achteren toegevoegd en van voren verwijderd. In een deque kunnen we echter elementen aan de voor- en achterkant invoegen en verwijderen .
Klassen die Deque implementeren
Om de functionaliteiten van de Deque
. te gebruiken interface, moeten we klassen gebruiken die het implementeren:
- ArrayDeque
- LinkedList
Hoe gebruik je Deque?
In Java moeten we de java.util.Deque
. importeren pakket om Deque
te gebruiken .
// Array implementation of Deque
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList implementation of Deque
Deque<String> animal2 = new LinkedList<>();
Hier hebben we objecten animal1 . gemaakt en dier2 van klassen ArrayDeque en LinkedList , respectievelijk. Deze objecten kunnen gebruik maken van de functionaliteiten van de Deque
interface.
Deque-methoden
Sinds Deque
breidt de Queue
. uit interface, erft het alle methoden van de wachtrij-interface.
Naast methoden die beschikbaar zijn in de Queue
interface, de Deque
interface bevat ook de volgende methoden:
- addFirst() - Voegt het gespecificeerde element toe aan het begin van de deque. Gooit een uitzondering als de deque vol is.
- addLast() - Voegt het gespecificeerde element toe aan het einde van de deque. Gooit een uitzondering als de deque vol is.
- offereerst() - Voegt het gespecificeerde element toe aan het begin van de deque. Retourneert
false
als het deque vol is. - offerLast() - Voegt het gespecificeerde element toe aan het einde van de deque. Retourneert
false
als het deque vol is. - getFirst() - Retourneert het eerste element van de deque. Gooit een uitzondering als de deque leeg is.
- getLast() - Retourneert het laatste element van de deque. Gooit een uitzondering als de deque leeg is.
- peekFirst() - Retourneert het eerste element van de deque. Retourneert
null
als de deque leeg is. - peekLast() - Retourneert het laatste element van de deque. Retourneert
null
als de deque leeg is. - removeFirst() - Retourneert en verwijdert het eerste element van de deque. Gooit een uitzondering als de deque leeg is.
- removeLast() - Retourneert en verwijdert het laatste element van de deque. Gooit een uitzondering als de deque leeg is.
- pollFirst() - Retourneert en verwijdert het eerste element van de deque. Retourneert
null
als de deque leeg is. - pollLast() - Retourneert en verwijdert het laatste element van de deque. Retourneert
null
als de deque leeg is.
Deque als Stack-gegevensstructuur
De Stack
klasse van de Java Collections
framework zorgt voor de implementatie van de stack.
Het wordt echter aanbevolen om Deque
. te gebruiken als een stapel in plaats van de klasse Stack. Het is omdat de methoden van Stack
zijn gesynchroniseerd.
Hier zijn de methoden die de Deque
interface biedt om stack te implementeren:
push()
- voegt een element toe aan het begin van dequepop()
- verwijdert een element van het begin van dequepeek()
- geeft een element terug vanaf het begin van deque
Implementatie van Deque in ArrayDeque Class
import java.util.Deque;
import java.util.ArrayDeque;
class Main {
public static void main(String[] args) {
// Creating Deque using the ArrayDeque class
Deque<Integer> numbers = new ArrayDeque<>();
// add elements to the Deque
numbers.offer(1);
numbers.offerLast(2);
numbers.offerFirst(3);
System.out.println("Deque: " + numbers);
// Access elements of the Deque
int firstElement = numbers.peekFirst();
System.out.println("First Element: " + firstElement);
int lastElement = numbers.peekLast();
System.out.println("Last Element: " + lastElement);
// Remove elements from the Deque
int removedNumber1 = numbers.pollFirst();
System.out.println("Removed First Element: " + removedNumber1);
int removedNumber2 = numbers.pollLast();
System.out.println("Removed Last Element: " + removedNumber2);
System.out.println("Updated Deque: " + numbers);
}
}
Uitvoer
Deque: [3, 1, 2] First Element: 3 Last Element: 2 Removed First Element: 3 Removed Last Element: 2 Updated Deque: [1]
Ga voor meer informatie naar Java ArrayDeque.
Java