Javaالإنترفيس List
في جافا
- مقدمة
- دوال الإنترفيس
List
- مثال شامل
مقدمة
الإنترفيس List
يرث من الإنترفيس Collection
و هو عبارة عن Collection فكرتها تخزين مجموعة متتالية من العناصر.
نظرة عامة
- بشكل عام، يستخدم لإنشاء مصفوفة ليس لها حجم محدد.
- العناصر يمكن إضافتها في أماكن محددة فيه، و يمكن الوصول إليها بواسطة أرقام الـ indexes.
- يمكنه إحتواء عناصر متكررة، أي يمكنه تخزين نفس القيمة فيه أكثر من مرة.
- يملك دواله الخاصة إضافةً إلى الدوال التي ورثها من الإنترفيس
Collection
. - بعض الدوال التي يملكها ترمي الإستثناء UnsupportedOperationException إذا تم استخدامهم بطريقة خاطئة.
- يرمى الإستثناء ClassCastException في حال كان لا يمكن تحويل نوع الكائن إلى نوع آخر.
دوال الإنترفيس List
الجدول التالي يحتوي على دوال الإنترفيس List
.
الدالة مع تعريفها | |
---|---|
1 | void add(int index, Object obj)
تضيف عنصر جديد في مكان محدد في الكائن الذي قام باستدعائها.
|
2 | boolean addAll(int index, Collection c)
تضيف جميع عناصر كائن الـ Collection في مكان محدد في الكائن الذي قام باستدعائها.ترجع true إذا تمت الإضافة بنجاح.
|
3 | Object get(int index)
ترجع الكائن الموجود في الـ index الذي نمرره لها كـ Argument. |
4 | int indexOf(Object element)
تبحث في الكائن الذي قام باستدعائها عن مكان الكائن الذي نمرره لها كـ Argument.ترجع Index أول عنصر يحتوي على الكائن المطلوب في حال وجود نفس الكائن في أكثر من عنصر. ترجع 1- في حال عدم إيجاد الكائن المطلوب. |
5 | int lastIndexOf(Object element)
تبحث في الكائن الذي قام باستدعائها عن مكان الكائن الذي نمرره لها كـ Argument.ترجع رقم آخر Index يحتوي على الكائن المطلوب في حال وجود نفس الكائن في أكثر من عنصر. ترجع 1- في حال عدم إيجاد الكائن المطلوب. |
6 | Object remove(int index)
تحذف عنصر محدد من عناصر الكائن الذي قام باستدعائها. |
7 | Object set(int index, Object element)
تبدل قيمة عنصر محدد من عناصر الكائن الذي قام باستدعائها بقيمة جديدة, و ترجع القيمة السابقة.
|
8 | subList(int start, int end)
ترجع كائن نوعه List يمثل العناصر الموجودة في الكائن الذي قام باستدعائها إبتداءاً من start وصولاً إلى ما قبل end . |
9 | ListIteratorIterator()
ترجع كائن نوعه ListIterator يحتوي على جميع عناصر الكائن الذي قام باستدعائها. |
10 | ListIteratorIterator(int start)
ترجع كائن نوعه ListIterator يحتوي على جميع عناصر الكائن الذي قام باستدعائها إبتداءاً من start . |
مثال شامل
في المثال التالي قمنا بإنشاء ثلاث كائنات من ثلاث كلاسات مختلفة ترث من الإنترفيس List
.
لاحظ أننا استخدمنا الدالة add()
التي ورثتها الكائنات في الأساس من الإنترفيس List
.
import java.util.*; // util هنا قمنا باستدعاء جميع الكلاسات و الإنترفيسات الموجودة في الحزمة public class Main { public static void main(String[] args) { // وضعنا فيه ثلاث كائنات o1 إسمه Vector هنا قمنا بإنشاء كائن من الكلاس Vector o1 = new Vector(); o1.add("A"); o1.add("B"); o1.add("C"); // وضعنا فيه ثلاث كائنات o2 إسمه ArrayList هنا قمنا بإنشاء كائن من الكلاس ArrayList o2 = new ArrayList(); o2.add("A"); o2.add("B"); o2.add("C"); // وضعنا فيه ثلاث كائنات o3 إسمه LinkedList هنا قمنا بإنشاء كائن من الكلاس LinkedList o3 = new LinkedList(); o3.add("A"); o3.add("B"); o3.add("C"); // o3 و o2 و o1 هنا قمنا بعرض محتويات الكائنات System.out.println("Vector elements: " + o1); System.out.println("ArrayList elements: " + o2); System.out.println("LinkedList elements: " + o3); } }
سنحصل على النتيجة التالية عند التشغيل.
Vector elements: [A, B, C] ArrayList elements: [A, B, C] LinkedList elements: [A, B, C]