فئة ArrayList

فئة ArrayList عبارة عن مصفوفة يمكن تغيير حجمها ويمكن العثور عليها في حزمة java.util.

يتمثل الاختلاف بين المصفوفة المضمنة و ArrayList في Java في أنه لا يمكن تعديل حجم المصفوفة (إذا كنت ترغب في إضافة عناصر إلى / من المصفوفة أو إزالتها، يجب إنشاء واحدة جديدة). بينما يمكن إضافة العناصر وإزالتها من ArrayList وقتما تشاء. يختلف بناء الجملة أيضًا قليلاً:

قم بإنشاء كائن ArrayList يسمى السيارات الذي سيخزن السلاسل:

import java.util.ArrayList; // import the ArrayList class

ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object

إضافة عناصر إلى فئة ArrayList

يحتوي صنف ArrayList على العديد من الطرق المفيدة. على سبيل المثال، لإضافة عناصر إلى ArrayList، استخدم طريقة add ():

مثال:

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    System.out.println(cars);
  }
}

الوصول إلى عنصر في فئة ArrayList

للوصول إلى عنصر في ArrayList، استخدم طريقة   get()  وارجع إلى رقم الفهرس:

cars.get(0);

تذكر: تبدأ فهارس المصفوفة بالرقم 0: [0] هو العنصر الأول. [1] هو العنصر الثاني.

تغيير عنصر

لتعديل عنصر، استخدم طريقة set () وارجع إلى رقم الفهرس:

cars.set(0, "Opel");

إزالة عنصر

لإزالة عنصر، استخدم طريقة  remove () وارجع إلى رقم الفهرس:

cars.remove(0);

لإزالة جميع العناصر في ArrayList، استخدم طريقة clear ():

cars.clear();

حجم فئة ArrayList

لمعرفة عدد العناصر الموجودة في ArrayList، استخدم التابع size:

cars.size();

حلقة من خلال عناصر فئة ArrayList

قم بالتكرار خلال عناصر ArrayList باستخدام حلقة for، واستخدم طريقة  size () لتحديد عدد مرات تشغيل الحلقة:

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (int i = 0; i < cars.size(); i++) {
      System.out.println(cars.get(i));
    }
  }
}

يمكنك أيضًا إجراء تكرار خلال ArrayList باستخدام حلقة for-each:

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (String i : cars) {
      System.out.println(i);
    }
  }
}

دروس java | الفصل الحادي عشر| فئات وكائنات جافا

أنواع أخرى

العناصر في ArrayList هي في الواقع كائنات. في الأمثلة أعلاه، أنشأنا عناصر (كائنات) من النوع String تذكر أن String في Java هي كائن (وليس نوعًا أوليًا). لاستخدام أنواع أخرى، مثل int، يجب عليك تحديد فئة غلاف مكافئة: عدد صحيح. بالنسبة للأنواع الأولية الأخرى، استخدم: Boolean for boolean، و Character for char، و Double for double:

مثال:

قم بإنشاء ArrayList لتخزين الأرقام (أضف عناصر من النوع الصحيح):

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(10);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(25);
    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}

فرز ArrayList

فئة أخرى مفيدة في حزمة java.util هي فئة المجموعات، والتي تتضمن طريقة sort() لفرز القوائم أبجديًا أو رقميًا:

مثال:

فرز ArrayList of Strings

import java.util.ArrayList;
import java.util.Collections;  // Import the Collections class

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    Collections.sort(cars);  // Sort cars
    for (String i : cars) {
      System.out.println(i);
    }
  }
}

مثال:

فرز قائمة ArrayList من الأعداد الصحيحة

import java.util.ArrayList;
import java.util.Collections;  // Import the Collections class

public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(33);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(34);
    myNumbers.add(8);
    myNumbers.add(12);

    Collections.sort(myNumbers);  // Sort myNumbers

    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}

فئة linkedList

في السابق، تعرفت على فئة ArrayList. فئة LinkedList متطابقة تقريبًا مع ArrayList:

مثال:

// Import the LinkedList class
import java.util.LinkedList;

public class Main {
  public static void main(String[] args) {
    LinkedList<String> cars = new LinkedList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    System.out.println(cars);
  }
}

ArrayList مقابل LinkedList

فئة LinkedList هي مجموعة يمكن أن تحتوي على العديد من الكائنات من نفس النوع، تمامًا مثل ArrayList.

تحتوي فئة LinkedList على جميع الأساليب نفسها مثل فئة ArrayList لأن كلاهما يقوم بتطبيق واجهة .List هذا يعني أنه يمكنك إضافة عناصر وتغيير العناصر وإزالة العناصر ومسح القائمة بنفس الطريقة.

ومع ذلك، في حين أنه يمكن استخدام فئة ArrayList وفئة LinkedList بنفس الطريقة، إلا أنهما تم بناؤهما بشكل مختلف تمامًا.

كيف تعمل فئة ArrayList؟

تحتوي فئة ArrayList على مصفوفة (array) منتظمة بداخلها. عند إضافة عنصر، يتم وضعه في المصفوفة. إذا لم تكن المصفوفة كبيرة بما يكفي، يتم إنشاء مصفوفة جديدة أكبر لتحل محل القديم وتتم إزالة المجموعة القديمة.

كيف تعمل LinkedList؟

تخزن LinkedList عناصرها في “حاويات”. تحتوي القائمة على رابط للحاوية الأولى ولكل حاوية رابط إلى الحاوية التالية في القائمة. لإضافة عنصر إلى القائمة، يتم وضع العنصر في حاوية جديدة وترتبط تلك الحاوية بإحدى الحاويات الأخرى في القائمة.

متى يجب استخدام؟

استخدم فئة ArrayList لتخزين البيانات والوصول إليها، و LinkedList لمعالجة البيانات.

طرق LinkedList

بالنسبة للعديد من الحالات، يكون ArrayList أكثر كفاءة حيث أنه من الشائع أن تحتاج إلى الوصول إلى العناصر العشوائية في القائمة، لكن LinkedList توفر عدة طرق للقيام بعمليات معينة بشكل أكثر كفاءة:

MethodDescription
addFirst()Adds an item to the beginning of the list
addLast()Add an item to the end of the list
removeFirst()Remove an item from the beginning of the list
removeLast()Remove an item from the end of the list
getFirst()Get the item at the beginning of the list
getLast()Get the item at the end of the list
Table: www.w3shool.com

منشور ذات صلة
كائنات وفئات جافا 7 Minutes

دروس java | الفصل الحادي عشر

جاسم ناظري

كل شيء في Java مرتبط بالفئات والكائنات، إلى جانب سماتها وطرقها. على سبيل المثال: في الحياة الواقعية ، السيارة هي شيء. للسيارة سمات مثل الوزن واللون وطرق مثل القيادة والفرامل.

التعليقات والمتغیرات 5 Minutes

دروس java | الفصل الثاني

جاسم ناظري

لماذا نستخدم التعليقات في الكود؟ تستخدم التعليقات لجعل البرنامج أكثر قابلية للقراءة عن طريق إضافة تفاصيل الكود. يمكن استخدامه أيضًا لمنع تنفيذ كود البرنامج أثناء اختبار الكود البديل.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

السلة