logo

Rozhranie Java Deque

Rozhranie s názvom Deque sa nachádza v balíku java.util. Je to podtyp fronty rozhrania. Deque podporuje pridávanie, ako aj odstraňovanie prvkov z oboch koncov dátovej štruktúry. Preto môže byť deque použitý ako zásobník alebo front. Vieme, že zásobník podporuje operáciu LIFO (Last In First Out) a operáciu First In First Out podporuje front. Keďže deque podporuje oboje, je možné na ňom vykonať ktorúkoľvek zo spomínaných operácií. Deque je skratka pre „dvojitý front“.

Deque Interface vyhlásenie

 public interface Deque extends Queue 

Metódy Java Deque Interface

Metóda Popis
boolovské pridanie (objekt) Používa sa na vloženie špecifikovaného prvku do tohto deque a po úspechu vráti hodnotu true.
boolovská ponuka (objekt) Používa sa na vloženie špecifikovaného prvku do tohto deque.
Object remove() Používa sa na aportovanie a vyberanie hlavy tohto deka.
Object poll() Používa sa na získanie a odstránenie hlavy tohto deque, alebo vráti hodnotu null, ak je tento deque prázdny.
Element objektu() Používa sa na aportovanie, ale neodstraňuje hlavu tohto deka.
Pohľad na objekt () Používa sa na získanie, ale neodstráni hlavičku tohto deque, alebo vráti hodnotu null, ak je tento deque prázdny.
Objekt peekFirst() Metóda vráti prvok head deque. Metóda neodstráni žiadny prvok z deque. Táto metóda vráti hodnotu Null, keď je deque prázdny.
objekt peekLast() Metóda vracia posledný prvok deque. Metóda neodstráni žiadny prvok z deque. Táto metóda vráti hodnotu Null, keď je deque prázdny.
Booleovská ponukaFirst(e) Vloží prvok e na začiatok frontu. Ak je vloženie úspešné, vráti sa true; inak nepravda.
Ponuka objektuPosledná(e) Vloží prvok e na koniec poradia. Ak je vloženie úspešné, vráti sa true; inak nepravda.
hierarchia java arraydeque

Trieda ArrayDeque

Vieme, že v Jave nie je možné vytvoriť objekt rozhrania. Preto na vytvorenie inštancie potrebujeme triedu, ktorá implementuje rozhranie Deque, a tou triedou je ArrayDeque. Pri používaní rastie a zmenšuje sa. Tiež zdedí triedu AbstractCollection.

Dôležité body o triede ArrayDeque sú:

  • Na rozdiel od Queue môžeme pridávať alebo odoberať prvky z oboch strán.
  • Nulové prvky nie sú v ArrayDeque povolené.
  • ArrayDeque nie je bezpečné pre vlákna pri absencii externej synchronizácie.
  • ArrayDeque nemá žiadne kapacitné obmedzenia.
  • ArrayDeque je rýchlejší ako LinkedList a Stack.

Hierarchia ArrayDeque

Hierarchia triedy ArrayDeque je uvedená na obrázku zobrazenom na pravej strane stránky.

javascript trim podreťazec

Deklarácia triedy ArrayDeque

Pozrime sa na deklaráciu pre triedu java.util.ArrayDeque.

 public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable 

Príklad Java ArrayDeque

Názov súboru: 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); } } } 

Výkon:

Ravi Vijay Ajay 

Príklad Java ArrayDeque: offerFirst() a pollLast()

Názov súboru: 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); } } } 

Výkon:

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

Java ArrayDeque Príklad: Kniha

Názov súboru: 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); } } } 

Výkon:

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