المصفوفات والمجموعات في Java: دليل شامل للمبتدئين — الجزء الأول

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

المصفوفات والمجموعات في جافا: دليل شامل للمبتدئين — الجزء الأول

تعلم جافا مستحيل دون فهم كيفية تخزين وإدارة مجموعات البيانات. في هذه المقالة، سنغطي موضوعين أساسيين: المصفوفات والمجموعات. هذا هو الجزء الأول من دليل شامل، مناسب لـ التعلم من الصفر وسيساعد في تنظيم معرفتك بـ البرمجة في جافا.



ما هي المصفوفات في جافا؟

المصفوفة هي هيكل بيانات ثابت الطول يخزن عناصر من نفس النوع. المصفوفات هي أساس جافا للمبتدئين لأنها بسيطة وسريعة. لكن عيبها الرئيسي هو أنه لا يمكن تغيير الحجم بعد الإنشاء.



تصريح وتهيئة المصفوفة

في جافا، يتم التصريح عن المصفوفة باستخدام الأقواس المربعة. إليك الصيغة الأساسية:

int[] numbers = new int[5]; // مصفوفة من 5 أعداد صحيحةString[] names = {"Anna", "Boris", "Viktor"}; // تهيئة حرفية


الوصول إلى العناصر وطول المصفوفة

يبدأ الترقيم من 0. يتم تخزين طول المصفوفة في الخاصية length:

int first = numbers[0];int size = numbers.length; // 5


الحلقات للعمل مع المصفوفات

من المناسب استخدام for أو for-each للتكرار على العناصر:

for (int i = 0; i < numbers.length; i++) {    System.out.println(numbers[i]);}

for (int num : numbers) { System.out.println(num);}


المصفوفات متعددة الأبعاد

تدعم جافا مصفوفات من المصفوفات. على سبيل المثال، المصفوفة ثنائية الأبعاد هي جدول:

int[][] matrix = new int[3][4]; // 3 صفوف، 4 أعمدةmatrix[1][2] = 42;

المصفوفات متعددة الأبعاد مفيدة للمصفوفات، وألواح الألعاب، والصور.



المجموعات في جافا: بديل مرن

المجموعات هي هياكل بيانات ديناميكية من إطار عمل المجموعات في جافا (JCF). إنها تحل المشكلة الرئيسية للمصفوفات: فهي تتوسع وتتقلص تلقائياً. بالنسبة لـ البرمجة في جافا، تعتبر المجموعات أمراً لا غنى عنه.



الواجهات الرئيسية للمجموعات

  • List — قائمة مرتبة مع التكرارات (ArrayList, LinkedList).
  • Set — مجموعة بدون تكرارات (HashSet, TreeSet).
  • Map — قاموس: مفتاح ← قيمة (HashMap, TreeMap).


ArrayList: مصفوفة ديناميكية

النوع الأكثر شيوعاً من المجموعات. مثال على الاستخدام:

import java.util.ArrayList;

ArrayList<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");System.out.println(list.get(0)); // JavaSystem.out.println(list.size()); // 3


HashSet: عناصر فريدة

استخدم Set عندما تحتاج لاستبعاد التكرارات:

import java.util.HashSet;

HashSet<Integer> set = new HashSet<>();set.add(10);set.add(20);set.add(10); // لن يتم إضافتهSystem.out.println(set.size()); // 2


HashMap: أزواج مفتاح-قيمة

ممتاز للبحث السريع:

import java.util.HashMap;

HashMap<String, Integer> map = new HashMap<>();map.put("Alice", 25);map.put("Bob", 30);System.out.println(map.get("Alice")); // 25


متى نستخدم المصفوفات ومتى نستخدم المجموعات؟

الاختيار يعتمد على المهمة:

  • المصفوفات — إذا كان الحجم ثابتاً، أو كانت هناك حاجة لأقصى أداء، أو كنت تعمل مع الأنواع البدائية.
  • المجموعات — إذا كانت البيانات تتغير ديناميكياً، أو كنت بحاجة للتفرد، أو الفرز، أو البحث بالمفتاح.

لـ تعلم جافا، يُوصى بالبدء بالمصفوفات ثم الانتقال إلى المجموعات.



مثال: دمج المصفوفات والمجموعات

فكر في مهمة: تحويل مصفوفة إلى قائمة والعكس

المدونات

توصيات الكتب