مكتبة Java القياسية: نظرة شاملة
مكتبة Java القياسية (Java Standard Edition API) هي مجموعة قوية وواسعة من الفئات والواجهات، توفر للمطورين حلولاً جاهزة لمعظم المهام النموذجية. وهي جزء لا يتجزأ من منصة Java وتغطي كل شيء: من أنواع البيانات الأساسية والعمل مع المجموعات إلى تعدد الخيوط والإدخال/الإخراج والتفاعل الشبكي. في هذه النظرة الشاملة، سنستعرض الحزم الرئيسية وإمكانياتها.
الحزمة java.lang — أساس اللغة
يتم استيراد الحزمة java.lang تلقائياً. وهي تحتوي على الفئات الأساسية التي لا يمكن كتابة أي برنامج Java بدونها.
- Object — الفئة الجذرية للتسلسل الهرمي. جميع الفئات ترث طرقها (
equals(),hashCode(),toString()). - String, StringBuilder, StringBuffer — للعمل مع السلاسل النصية غير القابلة للتغيير والقابلة للتغيير.
- أنواع التغليف (Wrapper Types) —
Integer,Double,Booleanوغيرها — تسمح باستخدام الأنواع البدائية في المجموعات. - System — فئة مساعدة للعمل مع وحدة التحكم (
System.out), خصائص النظام والمصفوفات (System.arraycopy()). - Math — توفر الثوابت والدوال الرياضية (
Math.sin(),Math.sqrt()).
// مثال على استخدام java.langpublic class LangExample { public static void main(String[] args) { String text = "Hello, Java!"; int length = text.length(); // 12 double root = Math.sqrt(25); // 5.0 System.out.println(text.toUpperCase()); // HELLO, JAVA! }}الحزمة java.util — المجموعات والأدوات المساعدة
هذه واحدة من أكثر الحزم استخداماً. تتضمن إطار عمل المجموعات (Collections Framework) — بنية موحدة لتخزين ومعالجة البيانات.
المجموعات (Collections)
- List — قائمة مرتبة (تسمح بالتكرار). التطبيقات:
ArrayList,LinkedList. - Set — مجموعة من العناصر الفريدة. التطبيقات:
HashSet,TreeSet. - Map — قاموس (مفتاح-قيمة). التطبيقات:
HashMap,TreeMap. - Queue/Deque — قوائم انتظار لمعالجة البيانات (مثل
PriorityQueue).
import java.util.*;
public class CollectionsExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("Java"); // التكرار مسموح به
Set<Integer> set = new HashSet<>(); set.add(10); set.add(20); set.add(10); // سيتم تجاهل التكرار
Map<String, Integer> map = new HashMap<>(); map.put("Alice", 30); map.put("Bob", 25);
System.out.println("List: " + list); System.out.println("Set: " + set); System.out.println("Map: " + map); }}الأدوات المساعدة (Utilities)
- Collections — طرق ثابتة لفرز وبحث ومزامنة المجموعات.
- Arrays — عمل مريح مع المصفوفات (
Arrays.sort(),Arrays.asList()). - Date, Calendar — للعمل مع التواريخ والوقت (قديمة لصالح
java.time). - Random — توليد أعداد شبه عشوائية.
الحزمة java.io — الإدخال/الإخراج
توفر هذه الحزمة فئات للعمل مع تدفقات البيانات: الملفات، وحدة التحكم، الاتصالات الشبكية. تعتمد على مفهوم InputStream/OutputStream للبايتات و Reader/Writer للأحرف.
- \