logo

Java Deque sąsaja

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.
java arraydeque hierarchija

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