logo

Java Deque -käyttöliittymä

Deque-niminen käyttöliittymä on java.util-paketissa. Se on liitäntäjonon alatyyppi. Deque tukee elementtien lisäämistä ja poistamista tietorakenteen molemmista päistä. Tästä syystä deque-tiedostoa voidaan käyttää pinona tai jonona. Tiedämme, että pino tukee LIFO (Last In First Out) -toimintoa, ja operaatiota First In First Out tukee jono. Koska deque tukee molempia, sille voidaan suorittaa jompikumpi mainituista toiminnoista. Deque on lyhenne sanoista 'kaksoispäätyinen jono'.

Deque Interface -ilmoitus

 public interface Deque extends Queue 

Java Deque -liittymän menetelmät

Menetelmä Kuvaus
boolen lisäys(objekti) Sitä käytetään lisäämään määritetty elementti tähän deque-tiedostoon ja palauttamaan true onnistuessaan.
boolen tarjous(objekti) Sitä käytetään lisäämään määritetty elementti tähän deque-tilaan.
Objektin poistaminen() Sitä käytetään tämän dequen pään hakemiseen ja poistamiseen.
Objektikysely() Sitä käytetään noutamaan ja poistamaan tämän dequen pää tai palauttamaan nollan, jos tämä deque on tyhjä.
Objektielementti() Sitä käytetään tämän dequen pään hakemiseen, mutta se ei poista sitä.
Objektin kurkistus() Sitä käytetään noutamaan, mutta ei poista, tämän dequen pään, tai palauttaa nollan, jos tämä deque on tyhjä.
Objekti peekFirst() Metodi palauttaa dequen head-elementin. Menetelmä ei poista dequesta mitään elementtiä. Nolla palautetaan tällä menetelmällä, kun deque on tyhjä.
Objekti peekLast() Metodi palauttaa dequen viimeisen elementin. Menetelmä ei poista dequesta mitään elementtiä. Nolla palautetaan tällä menetelmällä, kun deque on tyhjä.
Boolen tarjousEnsimmäinen(e) Lisää elementin e jonon etupuolelle. Jos lisäys onnistuu, palautetaan tosi; muuten väärä.
ObjektitarjousViimeinen(e) Lisää elementin e jonon loppuun. Jos lisäys onnistuu, palautetaan tosi; muuten väärä.
java arraydeque hierarkia

ArrayDeque-luokka

Tiedämme, että Javassa ei ole mahdollista luoda käyttöliittymäobjektia. Siksi instanssia varten tarvitsemme luokan, joka toteuttaa Deque-rajapinnan, ja tämä luokka on ArrayDeque. Se kasvaa ja kutistuu käytön mukaan. Se perii myös AbstractCollection-luokan.

Tärkeitä kohtia ArrayDeque-luokasta ovat:

  • Toisin kuin Queue, voimme lisätä tai poistaa elementtejä molemmilta puolilta.
  • Nollaelementit eivät ole sallittuja ArrayDequessa.
  • ArrayDeque ei ole säikeen turvallinen ulkoisen synkronoinnin puuttuessa.
  • ArrayDequella ei ole kapasiteettirajoituksia.
  • ArrayDeque on nopeampi kuin LinkedList ja Stack.

ArrayDeque-hierarkia

ArrayDeque-luokan hierarkia on esitetty sivun oikealla puolella olevassa kuvassa.

perinnöllinen java

ArrayDeque-luokkailmoitus

Katsotaanpa luokan java.util.ArrayDeque ilmoitus.

 public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable 

Java ArrayDeque -esimerkki

Tiedoston nimi: 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); } } } 

Lähtö:

Ravi Vijay Ajay 

Java ArrayDeque Esimerkki: offerFirst() ja pollLast()

Tiedoston nimi: 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); } } } 

Lähtö:

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

Java ArrayDeque Esimerkki: Kirja

Tiedoston nimi: 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); } } } 

Lähtö:

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