logo

Java Deque interfeiss

Saskarne ar nosaukumu Deque ir pieejama pakotnē java.util. Tas ir interfeisa rindas apakštips. Deque atbalsta elementu pievienošanu, kā arī noņemšanu no abiem datu struktūras galiem. Tāpēc deque var izmantot kā kaudzi vai rindu. Mēs zinām, ka steks atbalsta operāciju Last In First Out (LIFO) un operāciju First In First Out atbalsta rinda. Tā kā deque atbalsta abus, ar to var veikt jebkuru no minētajām darbībām. Deque ir akronīms vārdam 'dubultā rinda'.

Deque Interface deklarācija

 public interface Deque extends Queue 

Java deque interfeisa metodes

Metode Apraksts
Būla pievienošana(objekts) To izmanto, lai ievietotu norādīto elementu šajā deque un pēc panākumiem atgrieztu patiesu.
Būla piedāvājums (objekts) To izmanto, lai šajā dekā ievietotu norādīto elementu.
Objekta noņemšana () To izmanto, lai izgūtu un noņemtu šīs dekas galvu.
Objekta aptauja() To izmanto, lai izgūtu un noņemtu šīs noliktavas galviņu, vai atgriež nulli, ja šī deque ir tukša.
Objekta elements() To izmanto, lai izgūtu, bet nenoņemtu šīs dekas galvu.
Objekta apskate () To izmanto, lai izgūtu, bet nenoņemtu šīs noliktavas daļu, vai atgriež nulli, ja šī deque ir tukša.
Objekts peekFirst() Metode atgriež deque head elementu. Metode nenoņem nevienu elementu no deque. Ar šo metodi tiek atgriezta nulle, ja deque ir tukša.
Objekts peekLast() Metode atgriež pēdējo deque elementu. Metode nenoņem nevienu elementu no deque. Ar šo metodi tiek atgriezta nulle, ja deque ir tukša.
Būla piedāvājums pirmais(e) Ievieto elementu e rindas priekšpusē. Ja ievietošana ir veiksmīga, tiek atgriezta taisnība; pretējā gadījumā nepatiesi.
Objekta piedāvājumsPēdējais(e) Ievieto elementu e rindas beigās. Ja ievietošana ir veiksmīga, tiek atgriezta taisnība; pretējā gadījumā nepatiesi.
java arraydeque hierarhija

ArrayDeque klase

Mēs zinām, ka Java nav iespējams izveidot saskarnes objektu. Tāpēc instantiancei mums ir nepieciešama klase, kas ievieš Deque interfeisu, un šī klase ir ArrayDeque. Tas aug un saraujas atkarībā no lietošanas. Tas arī manto AbstractCollection klasi.

Svarīgi punkti par ArrayDeque klasi ir:

  • Atšķirībā no rindas, mēs varam pievienot vai noņemt elementus no abām pusēm.
  • Nulle elementi nav atļauti ArrayDeque.
  • ArrayDeque nav pavediens drošs, ja nav ārējas sinhronizācijas.
  • ArrayDeque nav jaudas ierobežojumu.
  • ArrayDeque ir ātrāks nekā LinkedList un Stack.

ArrayDeque hierarhija

ArrayDeque klases hierarhija ir parādīta attēlā, kas parādīts lapas labajā pusē.

java koda paraugs

ArrayDeque klases deklarācija

Apskatīsim klases java.util.ArrayDeque deklarāciju.

 public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable 

Java ArrayDeque piemērs

Faila nosaukums: 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); } } } 

Izvade:

Ravi Vijay Ajay 

Java ArrayDeque piemērs: offerFirst() un pollLast()

Faila nosaukums: 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); } } } 

Izvade:

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

Java ArrayDeque piemērs: grāmata

Faila nosaukums: 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); } } } 

Izvade:

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