Grensesnittet kalt Deque er til stede i java.util-pakken. Det er undertypen til grensesnittkøen. Deque støtter tillegg så vel som fjerning av elementer fra begge ender av datastrukturen. Derfor kan en deque brukes som en stabel eller en kø. Vi vet at stabelen støtter Last In First Out (LIFO) operasjonen, og operasjonen First In First Out støttes av en kø. Siden en deque støtter begge, kan en av de nevnte operasjonene utføres på den. Deque er et akronym for 'dobbel endt kø'.
Deque Interface-erklæring
public interface Deque extends Queue
Metoder for Java Deque Interface
Metode | Beskrivelse |
---|---|
boolsk add(objekt) | Den brukes til å sette inn det spesifiserte elementet i denne dequen og returnere sann ved suksess. |
boolsk tilbud (objekt) | Den brukes til å sette inn det spesifiserte elementet i denne deque. |
Objekt fjern() | Den brukes til å hente og fjerne hodet på denne deque. |
Objektundersøkelse() | Den brukes til å hente og fjerne hodet på denne dequen, eller returnerer null hvis denne dequen er tom. |
Objektelement() | Den brukes til å hente, men fjerner ikke, hodet på denne dekken. |
Objekt kikk() | Den brukes til å hente, men fjerner ikke, hodet til denne dequen, eller returnerer null hvis denne dequen er tom. |
Objekt peekFirst() | Metoden returnerer hodeelementet til dequen. Metoden fjerner ikke noe element fra deque. Null returneres med denne metoden når dequen er tom. |
Objekt peekLast() | Metoden returnerer det siste elementet i dequen. Metoden fjerner ikke noe element fra deque. Null returneres med denne metoden når dequen er tom. |
Boolsk tilbud First(e) | Setter inn elementet e foran i køen. Hvis innsettingen er vellykket, returneres true; ellers falsk. |
ObjekttilbudSiste(e) | Setter inn elementet e på slutten av køen. Hvis innsettingen er vellykket, returneres true; ellers falsk. |
ArrayDeque-klassen
Vi vet at det ikke er mulig å lage et objekt av et grensesnitt i Java. Derfor, for instansiering, trenger vi en klasse som implementerer Deque-grensesnittet, og den klassen er ArrayDeque. Den vokser og krymper etter bruk. Den arver også AbstractCollection-klassen.
De viktige punktene om ArrayDeque-klassen er:
- I motsetning til Queue, kan vi legge til eller fjerne elementer fra begge sider.
- Null-elementer er ikke tillatt i ArrayDeque.
- ArrayDeque er ikke trådsikker, i fravær av ekstern synkronisering.
- ArrayDeque har ingen kapasitetsbegrensninger.
- ArrayDeque er raskere enn LinkedList og Stack.
ArrayDeque-hierarki
Hierarkiet til ArrayDeque-klassen er gitt i figuren som vises til høyre på siden.
string split java
ArrayDeque-klasseerklæring
La oss se erklæringen for java.util.ArrayDeque-klassen.
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); } } }
Produksjon:
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); } } }
Produksjon:
After offerFirst Traversal... jai arvind vimal mukul After pollLast() Traversal... jai arvind vimal
Java ArrayDeque Eksempel: Bok
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); } } }
Produksjon:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6