English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
نحن سنتعلم في هذا الدرس عن واجهة Deque وكيفية استخدامها وطرقها.
واجهة Deque في إطار مجموعة Java Collections تقدم وظائف الحزمة المزدوجة (Deque). إنها تستمر في واجهة Queue.
في الحزمة التقليدية، يتم إضافة العناصر في النهاية، وإزالة العناصر من الأمام. ولكن في الحزمة المزدوجة، يمكنناإدراج وإزالة العناصر من الأمام والخلف.
للبدء في استخدام وظائف واجهة Deque، نحتاج إلى استخدام الفئات التي تنفذ الواجهة:
في Java، يجب علينا استيراد حزمة java.util.Deque التي نستخدمها.
Deque<String> animal1 = new ArrayDeque<>(); Deque<String> animal2 = new LinkedList<>();
في هذا السياق، قمنا بإنشاء كائنين من الفئات ArrayDeque وLinkedList باسم animal1 وanimal2. يمكن استخدام وظائف واجهة Deque بواسطة هذه الكائنات.
بما أن Deque يستمر في واجهة Queue، فإنها تستمر فيمن واجهة Queueجميع الطرق.
بالإضافة إلى الطرق المتاحة في واجهة Queue، تشمل واجهة Deque الطرق التالية:
addFirst() - إضافة العنصر المحدد في بداية الحزمة المزدوجة. إذا كانت الحزمة المزدوجة ممتلئة، يتم إطلاق استثناء.
addLast() - إضافة العنصر المحدد في نهاية الحزمة المزدوجة. إذا كانت الحزمة المزدوجة ممتلئة، يتم إطلاق استثناء.
offerFirst() - إضافة العنصر المحدد في بداية الحزمة المزدوجة. إذا كانت الحزمة المزدوجة ممتلئة، يتم إرجاع false.
offerLast() - إضافة العنصر المحدد في نهاية الحزمة المزدوجة. إذا كانت الحزمة المزدوجة ممتلئة، يتم إرجاع false.
getFirst() - عودة العنصر الأول من الحزمة المزدوجة. إذا كانت الحزمة المزدوجة فارغة، يتم إطلاق استثناء.
getLast() - العودة إلى العنصر الأخير من Deque. إذا كان Deque فارغًا، يُثير استثناء.
peekFirst() - العودة إلى العنصر الأول من Deque. إذا كان Deque فارغًا، العودة null.
peekLast() - العودة إلى العنصر الأخير من Deque. إذا كان Deque فارغًا، العودة null.
removeFirst() - العودة وإزالة العنصر الأول من Deque. إذا كان Deque فارغًا، يُثير استثناء.
removeLast() - العودة وإزالة العنصر الأخير من Deque. إذا كان Deque فارغًا، يُثير استثناء.
pollFirst() - العودة وإزالة العنصر الأول من Deque. إذا كان Deque فارغًا، العودة null.
pollLast() - العودة وإزالة العنصر الأخير من Deque. إذا كان Deque فارغًا، العودة null.
يقدم صنف Stack في إطار Collections Java تحقيق دليل.
لكن، يُنصح باستخدام Deque كدليل بدلاً منصنف Stack. لأن طرق Stack معتمدة.
إليك الطرق التي يقدمها واجهة Deque لتحقيق دليل
push() - إضافة العنصر الأول إلى Deque
pop() - إزالة العنصر الأول من Deque
peek() - العودة إلى العنصر الأول من Deque
import java.util.Deque; import java.util.ArrayDeque; class Main { public static void main(String[] args) { //استخدام صنف ArrayDeque لإنشاء Deque Deque<Integer> numbers = new ArrayDeque<>(); //إضافة العنصر إلى Deque numbers.offer(1); numbers.offerLast(2); numbers.offerFirst(3); System.out.println("Deque: " + numbers); //استخراج العنصر من Deque int firstElement = numbers.peekFirst(); System.out.println("الرمز الأول: " + firstElement); int lastElement = numbers.peekLast(); System.out.println("العنصر الأخير: " + lastElement)} //إزالة العنصر من Deque int removedNumber1 = numbers.pollFirst(); System.out.println("إزالة العنصر الأول: " + removedNumber1); int removedNumber2 = numbers.pollLast(); System.out.println("إزالة العنصر الأخير: " + removedNumber2); System.out.println("Deque المعدل: " + numbers); } }
نتائج الإخراج
Deque: [3, 1, 2] العنصر الأول: 3 العنصر الأخير: 2 إزالة العنصر الأول: 3 إزالة العنصر الأخير: 2 Deque المعدل: [1]
للحصول على معلومات إضافية، يرجى زيارةArrayDeque Java.