Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaالإنترفيس List في جافا

  • مقدمة
  • دوال الإنترفيس List
  • مثال شامل

مقدمة

الإنترفيس List يرث من الإنترفيس Collection و هو عبارة عن Collection فكرتها تخزين مجموعة متتالية من العناصر.


نظرة عامة

  • بشكل عام، يستخدم لإنشاء مصفوفة ليس لها حجم محدد.
  • العناصر يمكن إضافتها في أماكن محددة فيه، و يمكن الوصول إليها بواسطة أرقام الـ indexes.
  • يمكنه إحتواء عناصر متكررة، أي يمكنه تخزين نفس القيمة فيه أكثر من مرة.
  • يملك دواله الخاصة إضافةً إلى الدوال التي ورثها من الإنترفيس Collection.
  • بعض الدوال التي يملكها ترمي الإستثناء UnsupportedOperationException إذا تم استخدامهم بطريقة خاطئة.
  • يرمى الإستثناء ClassCastException في حال كان لا يمكن تحويل نوع الكائن إلى نوع آخر.

دوال الإنترفيس List

الجدول التالي يحتوي على دوال الإنترفيس List.

الدالة مع تعريفها
1 void add(int index, Object obj) تضيف عنصر جديد في مكان محدد في الكائن الذي قام باستدعائها.
  • obj هو الكائن الذي سيضاف.
  • index هو رقم الـ index الذي سيضاف فيه الكائن obj.
2 boolean addAll(int index, Collection c) تضيف جميع عناصر كائن الـ Collection في مكان محدد في الكائن الذي قام باستدعائها.
ترجع true إذا تمت الإضافة بنجاح.
  • c هو مجموعة الكائنات التي ستضاف.
  • index هو رقم الـ index الذي سيضاف فيه الكائن c.
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) تبدل قيمة عنصر محدد من عناصر الكائن الذي قام باستدعائها بقيمة جديدة, و ترجع القيمة السابقة.
  • index هو رقم index العنصر الذي سيتم تبديل قيمته.
  • element هو الكائن الجديد الذي سيوضع كقيمة للعنصر.
8 subList(int start, int end) ترجع كائن نوعه List يمثل العناصر الموجودة في الكائن الذي قام باستدعائها إبتداءاً من start وصولاً إلى ما قبل end.
9 ListIteratorIterator() ترجع كائن نوعه ListIterator يحتوي على جميع عناصر الكائن الذي قام باستدعائها.
10 ListIteratorIterator(int start) ترجع كائن نوعه ListIterator يحتوي على جميع عناصر الكائن الذي قام باستدعائها إبتداءاً من start.

مثال شامل

في المثال التالي قمنا بإنشاء ثلاث كائنات من ثلاث كلاسات مختلفة ترث من الإنترفيس List.
لاحظ أننا استخدمنا الدالة add() التي ورثتها الكائنات في الأساس من الإنترفيس List.

Main.java
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]