Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

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 deque
  • pop() - verwijdert een element van het begin van deque
  • peek() - 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

  1. C#-interface
  2. Java-operators
  3. Java-interface
  4. Java proberen-met-bronnen
  5. Java-annotaties
  6. Java NavigableSet-interface
  7. Java Lambda-expressies
  8. Interface versus abstracte klasse in Java:wat is het verschil?
  9. Java - Interfaces
  10. Java 9 - Privé-interfacemethoden
  11. C# - Interfaces