logo

Java Deque Interface

Grænsefladen kaldet Deque er til stede i java.util-pakken. Det er undertypen af ​​grænsefladekøen. Deque understøtter tilføjelse samt fjernelse af elementer fra begge ender af datastrukturen. Derfor kan en deque bruges som en stak eller en kø. Vi ved, at stakken understøtter Last In First Out (LIFO) operationen, og operationen First In First Out understøttes af en kø. Da en deque understøtter begge, kan en af ​​de nævnte operationer udføres på den. Deque er et akronym for 'dobbelt afsluttet kø'.

Deque Interface erklæring

 public interface Deque extends Queue 

Metoder til Java Deque Interface

Metode Beskrivelse
boolsk tilføjelse(objekt) Det bruges til at indsætte det angivne element i denne deque og returnere sand ved succes.
boolesk tilbud (objekt) Det bruges til at indsætte det angivne element i denne deque.
Objekt fjern() Det bruges til at hente og fjerne hovedet på denne deque.
Objektundersøgelse() Den bruges til at hente og fjerne hovedet af denne deque, eller returnerer null, hvis denne deque er tom.
Objektelement() Det bruges til at hente, men fjerner ikke, hovedet på denne deque.
Objekt kig() Det bruges til at hente, men fjerner ikke, hovedet af denne deque, eller returnerer null, hvis denne deque er tom.
Objekt peekFirst() Metoden returnerer hovedelementet i deque. Metoden fjerner ikke noget element fra deque. Null returneres ved denne metode, når deque er tom.
Objekt peekLast() Metoden returnerer det sidste element i deque. Metoden fjerner ikke noget element fra deque. Null returneres ved denne metode, når deque er tom.
Boolesk tilbud First(e) Indsætter elementet e foran i køen. Hvis indsættelsen lykkes, returneres true; ellers falsk.
Objekttilbud Sidste(e) Indsætter elementet e i slutningen af ​​køen. Hvis indsættelsen lykkes, returneres true; ellers falsk.
java arraydeque hierarki

ArrayDeque klasse

Vi ved, at det ikke er muligt at oprette et objekt af en grænseflade i Java. Derfor har vi brug for en klasse, der implementerer Deque-grænsefladen, og den klasse er ArrayDeque. Det vokser og krymper efter brug. Den arver også klassen AbstractCollection.

De vigtige punkter om ArrayDeque-klassen er:

  • I modsætning til Queue kan vi tilføje eller fjerne elementer fra begge sider.
  • Null-elementer er ikke tilladt i ArrayDeque.
  • ArrayDeque er ikke trådsikkert i mangel af ekstern synkronisering.
  • ArrayDeque har ingen kapacitetsbegrænsninger.
  • ArrayDeque er hurtigere end LinkedList og Stack.

ArrayDeque-hierarki

Hierarkiet af ArrayDeque-klassen er angivet i figuren vist til højre på siden.

10 millioner

ArrayDeque-klasseerklæring

Lad os se erklæringen for klassen java.util.ArrayDeque.

 public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable 

Java ArrayDeque eksempel

Filnavn: 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 Eksempel: offerFirst() og pollLast()

Filnavn: 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 Eksempel: Bog

Filnavn: 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