logo

ממשק Java Deque

הממשק שנקרא Deque קיים בחבילת java.util. זהו תת-הסוג של תור הממשק. ה-Deque תומך בהוספה כמו גם בהסרה של אלמנטים משני הקצוות של מבנה הנתונים. לכן, דסק יכול לשמש כמחסנית או כתור. אנו יודעים שהמחסנית תומכת בפעולת Last In First Out (LIFO), והפעולה First In First Out נתמכת על ידי תור. מכיוון ש-deque תומך בשניהם, ניתן לבצע בו כל אחת מהפעולות שהוזכרו. Deque הוא ראשי תיבות של 'תור כפול'.

הצהרת ממשק Deque

 public interface Deque extends Queue 

שיטות של ממשק Java Deque

שיטה תיאור
הוספה בוליאנית (אובייקט) הוא משמש כדי להכניס את האלמנט שצוין לדסק זה ולהחזיר אמת לאחר הצלחה.
הצעה בוליאנית (אובייקט) הוא משמש להכנסת האלמנט שצוין לדסק זה.
Object remove() הוא משמש כדי לאחזר ולהסיר את ראש הדסק הזה.
סקר אובייקט() הוא משמש כדי לאחזר ולהסיר את ראש ה-deque הזה, או מחזיר null אם ה-deque הזה ריק.
רכיב אובייקט() הוא משמש כדי לאחזר, אבל לא להסיר, את ראש הדסק הזה.
אובייקט הצצה() הוא משמש כדי לאחזר, אך לא מסיר, את ראש ה-deque הזה, או מחזיר null אם ה-deque הזה ריק.
אובייקט peekFirst() השיטה מחזירה את אלמנט הראש של הדסק. השיטה אינה מסירה שום אלמנט מהדק. Null מוחזר בשיטה זו, כאשר ה-deque ריק.
אובייקט peekLast() השיטה מחזירה את האלמנט האחרון של ה-deque. השיטה אינה מסירה שום אלמנט מהדק. Null מוחזר בשיטה זו, כאשר ה-deque ריק.
הצעה בוליאניתFirst(e) מכניס את האלמנט e בקדמת התור. אם ההכנסה הצליחה, true מוחזר; אחרת, שקר.
הצעת אובייקט אחרון(ה) מכניס את האלמנט e בזנב התור. אם ההכנסה הצליחה, true מוחזר; אחרת, שקר.
היררכיית Java arraydeque

מחלקה ArrayDeque

אנו יודעים שלא ניתן ליצור אובייקט של ממשק ב-Java. לכן, לצורך מופע, אנו זקוקים למחלקה המיישמת את ממשק Deque, והמחלקה הזו היא ArrayDeque. זה גדל ומתכווץ לפי השימוש. זה גם יורש את המחלקה AbstractCollection.

הנקודות החשובות במחלקת ArrayDeque הן:

  • בניגוד ל-Queue, אנו יכולים להוסיף או להסיר אלמנטים משני הצדדים.
  • רכיבי Null אינם מותרים ב- ArrayDeque.
  • ArrayDeque אינו בטוח בשרשור, בהיעדר סנכרון חיצוני.
  • ל- ArrayDeque אין הגבלות קיבולת.
  • ArrayDeque מהיר יותר מ-LinkedList ו-Stack.

היררכיית ArrayDeque

ההיררכיה של מחלקה ArrayDeque ניתנת באיור המוצג בצד ימין של הדף.

list.sort java

הצהרת מחלקה ArrayDeque

בוא נראה את ההצהרה עבור המחלקה java.util.ArrayDeque.

 public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable 

דוגמה של Java ArrayDeque

שם קובץ: 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); } } } 

תְפוּקָה:

Ravi Vijay Ajay 

Java ArrayDeque לדוגמה: offerFirst() ו-polLast()

שם קובץ: 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); } } } 

תְפוּקָה:

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

Java ArrayDeque דוגמה: ספר

שם קובץ: 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); } } } 

תְפוּקָה:

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