logo

Java Deque-gränssnitt

Gränssnittet som heter Deque finns i paketet java.util. Det är undertypen av gränssnittskön. Deque stöder tillägg och borttagning av element från båda ändarna av datastrukturen. Därför kan en deque användas som en stack eller en kö. Vi vet att stacken stöder operationen Last In First Out (LIFO) och operationen First In First Out stöds av en kö. Eftersom en deque stöder båda kan någon av de nämnda operationerna utföras på den. Deque är en akronym för 'dubbel kö'.

Deque Interface deklaration

 public interface Deque extends Queue 

Metoder för Java Deque Interface

Metod Beskrivning
boolean add(objekt) Den används för att infoga det specificerade elementet i denna deque och returnera sant vid framgång.
booleskt erbjudande (objekt) Den används för att infoga det specificerade elementet i denna deque.
Objekt remove() Den används för att hämta och ta bort huvudet på denna deque.
Objektundersökning() Den används för att hämta och ta bort huvudet på denna deque, eller returnerar null om denna deque är tom.
Objektelement() Den används för att hämta, men tar inte bort, huvudet på denna deque.
Object peek() Den används för att hämta, men tar inte bort, huvudet på denna deque, eller returnerar null om denna deque är tom.
Objekt peekFirst() Metoden returnerar huvudelementet i dequen. Metoden tar inte bort något element från dequen. Null returneras med denna metod när dequen är tom.
Objekt peekLast() Metoden returnerar det sista elementet i dequen. Metoden tar inte bort något element från dequen. Null returneras med denna metod när dequen är tom.
Boolean offerFirst(e) Infogar elementet e längst fram i kön. Om infogningen lyckas returneras true; annars falskt.
ObjekterbjudandeLast(e) Infogar elementet e i slutet av kön. Om infogningen lyckas returneras true; annars falskt.
java arraydeque hierarki

ArrayDeque klass

Vi vet att det inte är möjligt att skapa ett objekt av ett gränssnitt i Java. Därför, för instansiering, behöver vi en klass som implementerar Deque-gränssnittet, och den klassen är ArrayDeque. Den växer och krymper efter användning. Den ärver också klassen AbstractCollection.

De viktiga punkterna om ArrayDeque-klassen är:

  • Till skillnad från Queue kan vi lägga till eller ta bort element från båda sidor.
  • Null-element är inte tillåtna i ArrayDeque.
  • ArrayDeque är inte trådsäkert i avsaknad av extern synkronisering.
  • ArrayDeque har inga kapacitetsbegränsningar.
  • ArrayDeque är snabbare än LinkedList och Stack.

ArrayDeque Hierarki

Hierarkin för ArrayDeque-klassen anges i figuren som visas till höger på sidan.

typer av maskininlärning

ArrayDeque klassdeklaration

Låt oss se deklarationen för klassen java.util.ArrayDeque.

 public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable 

Java ArrayDeque Exempel

Filnamn: ArrayDequeExample.java

 import java.util.*; public class ArrayDequeExample { public static void main(String[] args) { //Creating Deque and adding elements Deque deque = new ArrayDeque(); deque.add('Ravi'); deque.add('Vijay'); deque.add('Ajay'); //Traversing elements for (String str : deque) { System.out.println(str); } } } 

Produktion:

Ravi Vijay Ajay 

Java ArrayDeque Exempel: offerFirst() och pollLast()

Filnamn: DequeExample.java

 import java.util.*; public class DequeExample { public static void main(String[] args) { Deque deque=new ArrayDeque(); deque.offer('arvind'); deque.offer('vimal'); deque.add('mukul'); deque.offerFirst('jai'); System.out.println('After offerFirst Traversal...'); for(String s:deque){ System.out.println(s); } //deque.poll(); //deque.pollFirst();//it is same as poll() deque.pollLast(); System.out.println('After pollLast() Traversal...'); for(String s:deque){ System.out.println(s); } } } 

Produktion:

After offerFirst Traversal... jai arvind vimal mukul After pollLast() Traversal... jai arvind vimal 

Java ArrayDeque Exempel: Bok

Filnamn: ArrayDequeExample.java

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ArrayDequeExample { public static void main(String[] args) { Deque set=new ArrayDeque(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to Deque set.add(b1); set.add(b2); set.add(b3); //Traversing ArrayDeque for(Book b:set){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Produktion:

101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6