المكتبة القياسية لجافا: نظرة شاملة
المكتبة القياسية لجافا (Java Standard Library) هي مجموعة أساسية من الحزم والفئات والواجهات التي تأتي مع كل تثبيت لـ JDK (Java Development Kit). وهي توفر للمطور كل ما هو ضروري لإنشاء التطبيقات: من العمل مع أنواع البيانات الأساسية والمجموعات إلى التفاعل الشبكي وتعدد الخيوط. فهم هذه المكتبة هو مفتاح التطوير الفعال بلغة جافا.
الحزم الرئيسية للمكتبة القياسية
المكتبة منظمة في حزم. دعنا نستعرض أهمها:
java.lang— حزمة يتم استيرادها تلقائيًا، تحتوي على فئات التغليف (Integer،Double)، السلاسل النصية (String،StringBuilder)، الدوال النظامية (System،Math) والاستثناءات.java.util— المجموعات، العمل مع التواريخ، الأرقام العشوائية، الأدوات المساعدة (Arrays،Collections).java.io— تدفقات الإدخال والإخراج، العمل مع الملفات والتسلسل.java.nio— الإدخال/الإخراج غير المحظور (New I/O)، المخازن المؤقتة والقنوات.java.net— البرمجة الشبكية (المقابس، URL، HTTP).java.util.concurrent— تعدد الخيوط: المنفذون، قوائم الانتظار المحظورة، المتغيرات الذرية.java.time(Java 8+) — واجهة برمجة تطبيقات حديثة للعمل مع التاريخ والوقت (LocalDate،ZonedDateTime).
حزمة java.lang: أساس كل شيء
حزمة java.lang لا تتطلب استيرادًا صريحًا. تتضمن فئة Object — جذر التسلسل الهرمي لجميع الفئات. دعنا نستعرض العناصر الرئيسية:
// فئة String — سلاسل نصية غير قابلة للتغييرString greeting = "مرحبًا، جافا!";String upper = greeting.toUpperCase(); // "مرحبًا، جافا!"
// StringBuilder — سلاسل نصية قابلة للتغيير (أكثر كفاءة من الربط في الحلقة)StringBuilder sb = new StringBuilder("Hello");sb.append(" World");sb.insert(5, ",");System.out.println(sb.toString()); // "Hello, World"
// فئة Math — العمليات الرياضيةdouble pi = Math.PI;double sqrt = Math.sqrt(144); // 12.0int max = Math.max(10, 20); // 20يجدر إيلاء اهتمام خاص لفئات التغليف (Integer، Boolean وغيرها). فهي تسمح باستخدام الأنواع البدائية في المجموعات وتوفر طرقًا للتحويل:
int primitive = 42;Integer wrapped = Integer.valueOf(primitive); // التغليف التلقائيint back = wrapped.intValue(); // فك التغليف
// تحليل سلسلة نصية إلى رقمint parsed = Integer.parseInt("12345");System.out.println(parsed); // 12345حزمة java.util: المجموعات والأدوات المساعدة
هذه هي الحزمة الأكثر شمولاً. جوهرها هو إطار عمل المجموعات (Collections Framework):
- List — قوائم مرتبة:
ArrayList(وصول سريع حسب الفهرس)،LinkedList(إدراج/حذف سريع). - Set — مجموعات بدون تكرار:
HashSet،TreeSet(ترتيب). - Map — قواميس "مفتاح-قيمة":
HashMap،TreeMap.
import java.util.*;
// مثال على العمل مع HashMapMap<String, Integer> ages = new HashMap<>();ages.put("Alice", 30);ages.put("Bob", 25);ages.put("Charlie", 35);
for (Map.Entry<String, Integer> entry : ages.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue());}
// ترتيب قائمةList<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 8, 1));Collections.sort(numbers);System.out.println(numbers); // [1, 3, 5, 8]أيضًا، توجد في الحزمة