📋 Lists في جافا: دليلك الشامل للتعامل مع القوائم باحترافية
مرحباً بك في درس اليوم! إذا كنت قد تعلمت سابقاً عن المصفوفات (Arrays) في جافا، فأنت على وشك اكتشاف أداة أكثر مرونة وقوة: القوائم (Lists). في هذا الدرس، سنتعلم كل ما تحتاجه للبدء في استخدام Lists بشكل عملي وفعّال.
🧠 ما هي الـ List في جافا؟
ببساطة، List هي عبارة عن مجموعة مرتبة من العناصر تسمح بتكرار القيم. تخيلها مثل قائمة تسوق قابلة للتعديل بشكل ديناميكي، على عكس المصفوفة الثابتة الحجم.
الفرق الرئيسي بين المصفوفة (Array) والـ List:
- المصفوفة: حجمها ثابت لا يمكن تغييره بعد الإنشاء.
- الـ List: حجمها ديناميكي، يمكنك إضافة أو حذف عناصر منها في أي وقت.
في جافا، List هي واجهة (Interface)، مما يعني أنها تحدد السلوك الذي يجب أن توفره الفئات التي تنفذها. أشهر هذه الفئات هي ArrayList، والتي سنركز عليها في هذا الدرس.
⚙️ كيفية إنشاء واستخدام ArrayList
للاستفادة من ArrayList، يجب أولاً استيراد الحزمة (package) الخاصة بها.
import java.util.ArrayList; // استيراد ArrayList
الآن، لننشئ أول قائمة لنا. الصيغة العامة لإنشاء ArrayList هي:
ArrayList<Data Type> listName = new ArrayList<>();
مثال عملي: لننشئ قائمة لتخزين أسماء الطلاب.
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// إنشاء قائمة من النصوص (Strings) لتخزين أسماء الطلاب
ArrayList<String> studentNames = new ArrayList<>();
System.out.println("List created successfully!");
}
}
في المثال أعلاه:
ArrayList<String>: نحدد أن نوع البيانات الذي ستخزنه القائمة هوString.studentNames: هو اسم المتغير الذي يمثل القائمة.new ArrayList<>(): ننشئ كائنًا فعليًا منArrayList.
✨ أهم العمليات الأساسية على ArrayList (الإضافة والوصول)
1. إضافة عناصر إلى القائمة .add()
تستخدم الدالة add() لإلحاق عنصر جديد في نهاية القائمة.
ArrayList<String> fruits = new ArrayList<>();
fruits.add("تفاح"); // إضافة عنصر "تفاح"
fruits.add("موز"); // إضافة عنصر "موز"
fruits.add("برتقال"); // إضافة عنصر "برتقال"
System.out.println(fruits); // الناتج: [تفاح, موز, برتقال]
2. الوصول إلى عنصر في القائمة .get()
تستخدم الدالة get() لاسترجاع عنصر بناءً على موقعه (مُؤشِّره - Index). تذكر أن المؤشر يبدأ من الصفر (0).
ArrayList<String> fruits = new ArrayList<>();
fruits.add("تفاح");
fruits.add("موز");
fruits.add("برتقال");
String firstFruit = fruits.get(0); // الحصول على العنصر الأول (موقعه 0)
String secondFruit = fruits.get(1); // الحصول على العنصر الثاني (موقعه 1)
System.out.println("ثمرتي المفضلة هي: " + firstFruit); // الناتج: ثمرتي المفضلة هي: تفاح
System.out.println("ثمرتي الثانية هي: " + secondFruit); // الناتج: ثمرتي الثانية هي: موز
🔍 المزيد من العمليات المفيدة
3. تغيير قيمة عنصر موجود .set()
إذا أردت تغيير قيمة عنصر في موقع محدد، استخدم الدالة set().
ArrayList<String> fruits = new ArrayList<>();
fruits.add("تفاح");
fruits.add("موز");
fruits.set(1, "فراولة"); // تغيير العنصر في الموضع 1 من "موز" إلى "فراولة"
System.out.println(fruits); // الناتج: [تفاح, فراولة]
4. حذف عنصر من القائمة .remove()
يمكنك حذف عنصر إما عن طريق قيمته أو عن طريق موقعه.
ArrayList<String> fruits = new ArrayList<>();
fruits.add("تفاح");
fruits.add("موز");
fruits.add("برتقال");
fruits.remove(1); // حذف العنصر في الموضع 1 ("موز")
// أو fruits.remove("موز"); لحذف العنصر بالقيمة
System.out.println(fruits); // الناتج: [تفاح, برتقال]
5. معرفة حجم القائمة .size()
تشبه الدالة size() خاصية length في المصفوفات، فهي تُرجع عدد العناصر في القائمة.
ArrayList<String> fruits = new ArrayList<>();
fruits.add("تفاح");
fruits.add("موز");
int listSize = fruits.size();
System.out.println("عدد العناصر في القائمة: " + listSize); // الناتج: عدد العناصر في القائمة: 2
🔄 التكرار (Looping) عبر عناصر ArrayList
أحد أكبر مزايا القوائم هو سهولة التكرار عبر جميع عناصرها باستخدام حلقة for المحسنة (Enhanced for loop).
ArrayList<String> fruits = new ArrayList<>();
fruits.add("تفاح");
fruits.add("موز");
fruits.add("برتقال");
// التكرار عبر كل عنصر في القائمة وطباعته
for (String fruit : fruits) {
System.out.println("I have a fruit: " + fruit);
}
Output:
I have a fruit: تفاح
I have a fruit: موز
I have a fruit: برتقال
💡 خلاصة سريعة
- الـ List هي مجموعة ديناميكية مرتبة تسمح بتكرار القيم.
ArrayListهي التطبيق الأكثر شيوعاً للواجهةList.- استخدم
.add()للإضافة، و.get()للوصول، و.remove()للحذف. - استخدم
.size()لمعرفة عدد العناصر. - التكرار عبر القائمة سهل باستخدام الحلقة
forالمحسنة.
🎓 اختبر نفسك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال