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

click fraud protection

إذا احتاج البرنامج للعمل مع عدد من القيم نفسها نوع البيانات، يمكنك أن تعلن أ متغير لكل رقم. على سبيل المثال ، برنامج يعرض أرقام اليانصيب:

عدد اليانصيب 1 = 16 ؛
عدد اليانصيب رقم 2 = 32 ؛
عدد اليانصيب رقم 3 = 12 ؛
عدد اليانصيب رقم 4 = 23 ؛
عدد اليانصيب رقم 5 = 33 ؛
عدد اليانصيب رقم 6 = 20 ؛

طريقة أكثر أناقة للتعامل مع القيم التي يمكن تجميعها معًا هي استخدام مصفوفة. المصفوفة عبارة عن حاوية تحتوي على عدد ثابت من قيم نوع البيانات. في المثال أعلاه ، يمكن تجميع أرقام اليانصيب معًا في صفيف int:

int [] lotteryNumbers = {16،32،12،23،33،20} ؛ 

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

إعلان الصفيف وتهيئته

بيان الإعلان لصفيف مشابه للبيان المستخدم أعلن أي متغير آخر. يحتوي على نوع البيانات متبوعًا باسم الصفيف - والفرق الوحيد هو تضمين الأقواس المربعة بجوار نوع البيانات:

instagram viewer
int [] intArray ؛
تعويم [] floatArray ؛ 
char [] charArray ؛

ال بيانات التصريح اقول المترجم أعلاه

intArray
المتغير هو مصفوفة من
أحبار
,
تعويم صفيف
مجموعة من
يطفو
و
charArray
مجموعة من الأحرف. مثل أي متغير ، لا يمكن استخدامها حتى تتم تهيئتها من خلال تعيين قيمة لها. بالنسبة للصفيف ، يجب أن يحدد تعيين قيمة للصفيف حجم الصفيف:
intArray = new int [10] ، 

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

تعويم [] floatArray = تعويم جديد [10] ؛ 

المصفوفات لا تقتصر على أنواع البيانات البدائية. يمكن إنشاء صفائف الكائنات:

String [] names = new String [5]؛ 

باستخدام صفيف

بمجرد تهيئة الصفيف ، يمكن أن يكون للعناصر قيم معينة لها باستخدام فهرس الصفيف. يحدد الفهرس موضع كل عنصر في المصفوفة. العنصر الأول هو 0 والعنصر الثاني عند 1 وهكذا. من المهم ملاحظة أن فهرس العنصر الأول هو 0. من السهل التفكير في ذلك لأن المصفوفة تحتوي على عشرة عناصر أن الفهرس من 1 إلى 10 بدلاً من 0 إلى 9. على سبيل المثال ، إذا عدنا إلى مثال أرقام اليانصيب ، فيمكننا إنشاء مصفوفة تحتوي على 6 عناصر وتعيين أرقام اليانصيب للعناصر:

int [] lotteryNumbers = new int [6] ،
أرقام اليانصيب [0] = 16 ؛
أرقام اليانصيب [1] = 32 ؛
أرقام اليانصيب [2] = 12 ؛
أرقام اليانصيب [3] = 23 ؛
أرقام اليانصيب [4] = 33 ؛
أرقام اليانصيب [5] = 20 ؛

يوجد اختصار لملء العناصر في مصفوفة عن طريق وضع قيم العناصر في بيان الإعلان:

int [] lotteryNumbers = {16،32،12،23،33،20} ؛
String [] names = {"John"، "James"، "Julian"، "Jack"، "Jonathon"}؛

يتم وضع قيم كل عنصر داخل زوج من الأقواس المتعرجة. يحدد ترتيب القيم العنصر الذي تم تعيينه للقيمة بدءًا بموضع الفهرس 0. يتم تحديد عدد العناصر في المصفوفة من خلال عدد القيم داخل الأقواس المتعرجة.

للحصول على قيمة عنصر يتم استخدام فهرسه:

System.out.println ("قيمة العنصر الأول هي" + أرقام اليانصيب [0]) ؛ 

لمعرفة عدد العناصر التي يحتوي عليها المصفوفة ، استخدم حقل الطول:

System.out.println ("تحتوي مصفوفة lotteryNumbers على" + lotteryNumbers.length + "element") ؛ 

ملحوظة: الخطأ الشائع عند استخدام طريقة الطول هو النسيان هو استخدام قيمة الطول كموضع مؤشر. سينتج عن ذلك دائمًا خطأ لأن مواضع الفهرس للصفيف تتراوح من 0 إلى الطول - 1.

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

تعرف المصفوفات التي كنا ننظر إليها حتى الآن بمصفوفات أحادية البعد (أو أحادية البعد). هذا يعني أن لديهم صف واحد فقط من العناصر. ومع ذلك ، يمكن أن يكون للصفائف أكثر من بُعد واحد. متعدد الأبعاد في الواقع صفيف يحتوي على صفائف:

int [] [] lotteryNumbers = {{16،32،12،23،33،20}، {34،40،3،11،33،24}} ؛ 

يتكون فهرس المصفوفة متعددة الأبعاد من رقمين:

System.out.println ("قيمة العنصر 1،4 هي" + أرقام اليانصيب [1] [4]) ؛ 

على الرغم من أن طول المصفوفات الموجودة في مصفوفة متعددة الأبعاد لا يجب أن يكون بنفس الطول:

String [] [] names = new String [5] [7]؛ 

نسخ صفيف

لنسخ مصفوفة أسهل طريقة هي استخدام

تنظير المفصل
طريقة فئة النظام. ال
تنظير المفصل
يمكن استخدام الطريقة لنسخ جميع عناصر المصفوفة أو قسم فرعي منها. هناك خمس معلمات تم تمريرها إلى
 تنظير المفصل
الطريقة - المصفوفة الأصلية ، موضع الفهرس لبدء نسخ عنصر من ، المصفوفة الجديدة ، موضع الفهرس لبدء الإدراج من ، عدد العناصر المراد نسخها:
arraycopy الفراغ الثابت العام (Object src ، int srcPos ، Object dest ، int destPos ، int length)

على سبيل المثال ، لإنشاء مصفوفة جديدة تحتوي على العناصر الأربعة الأخيرة من

عدد 
مجموعة مصفوفة:
int [] lotteryNumbers = {16،32،12،23،33،20} ؛
int [] newArrayNumbers = new int [4] ،
System.arraopy (أرقام اليانصيب ، 2 ، newArrayNumbers ، 0 ، 4) ؛

كما صفائف طول ثابت

تنظير المفصل
الطريقة يمكن أن تكون طريقة مفيدة لتغيير حجم المصفوفة.

لزيادة معرفتك حول المصفوفات ، يمكنك التعرف على معالجة المصفوفات باستخدام المصفوفات الفصل ووضع المصفوفات الديناميكية (أي المصفوفات عندما لا يكون عدد العناصر رقمًا ثابتًا) باستخدام فئة ArrayList.

instagram story viewer