Sąsaja, vadinama Deque, yra java.util pakete. Tai sąsajos eilės potipis. „Deque“ palaiko elementų pridėjimą ir pašalinimą iš abiejų duomenų struktūros galų. Todėl deque gali būti naudojamas kaip krūva arba eilė. Žinome, kad krūva palaiko operaciją Last In First Out (LIFO), o operaciją First In First Out palaiko eilė. Kadangi deque palaiko abu, jame galima atlikti bet kurią iš minėtų operacijų. Deque yra akronimas „dviejų galų eilė“.
Deque Interface deklaracija
public interface Deque extends Queue
Java Deque sąsajos metodai
Metodas | apibūdinimas |
---|---|
loginis pridėjimas (objektas) | Jis naudojamas įterpti nurodytą elementą į šį deque ir grąžinti teisingą, kai pavyksta. |
loginis pasiūlymas (objektas) | Jis naudojamas nurodytam elementui įterpti į šį deque. |
Objekto pašalinimas () | Jis naudojamas šios dekės galvutei paimti ir nuimti. |
Objekto apklausa () | Jis naudojamas norint nuskaityti ir pašalinti šio sąrašo antraštę arba grąžina nulį, jei šis sąrašas tuščias. |
Objekto elementas () | Jis naudojamas atgauti, bet nepašalinti šios dekės galvutės. |
Objekto žvilgsnis () | Jis naudojamas norint nuskaityti, bet nepašalinti šio sąrašo antraštės, arba grąžina nulį, jei šis sąrašas tuščias. |
Objektas peekFirst() | Metodas grąžina deque head elementą. Šis metodas nepašalina jokio elemento iš deque. Nulis grąžinamas šiuo metodu, kai deque tuščia. |
Objektas peekLast() | Metodas grąžina paskutinį deque elementą. Šis metodas nepašalina jokio elemento iš deque. Nulis grąžinamas šiuo metodu, kai deque tuščia. |
Būlio pasiūlymas Pirmas(e) | Įterpia elementą e eilės priekyje. Jei įterpimas sėkmingas, grąžinama tiesa; kitu atveju klaidinga. |
Objekto pasiūlymas Paskutinis(e) | Įterpia elementą e eilės gale. Jei įterpimas sėkmingas, grąžinama tiesa; kitu atveju klaidinga. |
ArrayDeque klasė
Žinome, kad „Java“ sąsajos objekto sukurti neįmanoma. Todėl, norint sukurti egzempliorių, mums reikia klasės, kuri įgyvendina Deque sąsają, ir ta klasė yra ArrayDeque. Jis auga ir traukiasi priklausomai nuo naudojimo. Jis taip pat paveldi klasę AbstractCollection.
Svarbūs dalykai apie ArrayDeque klasę yra šie:
- Skirtingai nuo eilės, mes galime pridėti arba pašalinti elementus iš abiejų pusių.
- Nuliniai elementai „ArrayDeque“ neleidžiami.
- ArrayDeque nėra saugus siūlams, nes nėra išorinės sinchronizacijos.
- ArrayDeque neturi talpos apribojimų.
- „ArrayDeque“ yra greitesnis nei „LinkedList“ ir „Stack“.
ArrayDeque hierarchija
ArrayDeque klasės hierarchija pateikta paveikslėlyje, kuris rodomas dešinėje puslapio pusėje.
js pakeitimas
ArrayDeque klasės deklaracija
Pažiūrėkime java.util.ArrayDeque klasės deklaraciją.
public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable
Java ArrayDeque pavyzdys
Failo pavadinimas: 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); } } }
Išvestis:
Ravi Vijay Ajay
Java ArrayDeque pavyzdys: offerFirst() ir pollLast()
Failo pavadinimas: 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); } } }
Išvestis:
After offerFirst Traversal... jai arvind vimal mukul After pollLast() Traversal... jai arvind vimal
Java ArrayDeque pavyzdys: knyga
Failo pavadinimas: 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); } } }
Išvestis:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6