🧩 ترتيب القوائم في جافا: دليل المبتدئين الشامل
مرحباً بك في درس ترتيب القوائم (Sorting) في جافا! إذا كنت تتعامل مع مجموعة من البيانات وتريد تنظيمها بطريقة مرتبة، فهذا الدرس سيكون مفيداً جداً لك. سنتعلم كيفية ترتيب العناصر في القوائم بسهولة باستخدام الأدوات التي توفرها لنا لغة جافا.
📚 لماذا نحتاج لترتيب القوائم؟
تخيل أن لديك قائمة بأسماء طلاب في فصل دراسي، أو قائمة بأسعار منتجات، أو حتى قائمة بأعمار الأصدقاء. عرض هذه البيانات بشكل عشوائي قد يكون غير مفيد. لكن عندما ترتبها، تصبح أكثر وضوحاً وسهولة في القراءة والتحليل.
فوائد الترتيب:
- تسهيل البحث عن عناصر معينة
- تحسين قراءة البيانات وعرضها
- تمهيد الطريق لإجراء عمليات أكثر تعقيداً لاحقاً
🔧 الطرق الأساسية لترتيب القوائم في جافا
توفر جافا طريقتين رئيسيتين لترتيب القوائم، وهما سهلة الاستخدام جداً للمبتدئين:
1. استخدام Collections.sort() لترتيب ArrayList
إذا كنت تستخدم ArrayList (وهو النوع الأكثر شيوعاً للقوائم)، فاستخدم Collections.sort().
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
// إنشاء قائمة أرقام
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(1);
numbers.add(8);
numbers.add(3);
System.out.println("The list before sorting: " + numbers);
// ترتيب القائمة
Collections.sort(numbers);
System.out.println("The list after sorting: " + numbers);
}
}
النتيجة:
The list before sorting: [5, 1, 8, 3]
The list after sorting: [1, 3, 5, 8]
2. استخدام Arrays.sort() لترتيب المصفوفات
إذا كنت تعمل مع مصفوفة عادية (Array) وليس ArrayList، استخدم Arrays.sort().
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// إنشاء مصفوفة أسماء
String[] names = {"زياد", "أحمد", "سارة", "فاطمة"};
System.out.println("The array before sorting: " + Arrays.toString(names));
// ترتيب المصفوفة
Arrays.sort(names);
System.out.println("The array after sorting: " + Arrays.toString(names));
}
}
النتيجة:
The array before sorting: [زياد, أحمد, سارة, فاطمة]
The array after sorting: [أحمد, سارة, فاطمة, زياد]
📊 كيف يعمل الترتيب التلقائي؟
عندما تستخدم sort() بدون أي إعدادات إضافية، تقوم جافا بالترتيب بالطريقة التالية:
- الأرقام: ترتيب تصاعدي من الأصغر إلى الأكبر
- النصوص: ترتيب أبجدي (حسب قيمة الأحرف في جدول Unicode)
- التواريخ: ترتيب زمني من الأقدم إلى الأحدث
هذا النوع من الترتيب يسمى الترتيب الطبيعي (Natural Ordering).
💡 مثال تطبيقي شامل
لنطبق ما تعلمناه على مثال واقعي لترتيب قائمة منتجات حسب أسعارها:
import java.util.ArrayList;
import java.util.Collections;
public class ProductSorter {
public static void main(String[] args) {
ArrayList<Double> prices = new ArrayList<>();
prices.add(99.99);
prices.add(45.50);
prices.add(120.0);
prices.add(75.25);
prices.add(30.0);
System.out.println("The prices before sorting:");
for (Double price : prices) {
System.out.println(price + " SAR");
}
// ترتيب الأسعار من الأقل إلى الأعلى
Collections.sort(prices);
System.out.println("\nThe prices after sorting (from lowest to highest):");
for (Double price : prices) {
System.out.println(price + " SAR");
}
}
}
⚠️ ملاحظات مهمة للمبتدئين
- تأكد من استيراد المكتبات الصحيحة: لا تنسى
import java.util.Collections;أوimport java.util.Arrays; - الترتيب يغير القائمة الأصلية: عند استخدام
sort()، يتم تعديل القائمة الأصلية مباشرة - الترتيب يعمل على أنواع محددة: يمكن ترتيب الأنواع الأساسية مثل
Integer،String،Doubleدون أي إعدادات إضافية
🎯 خلاصة الدرس
تعلمنا في هذا الدرس:
- أهمية ترتيب البيانات في البرمجة
- كيفية استخدام
Collections.sort()لترتيب ArrayList - كيفية استخدام
Arrays.sort()لترتيب المصفوفات العادية - أن الترتيب التلقائي يكون تصاعدياً للأرقام وأبجدياً للنصوص
🎓 اختبر نفسك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال