صفيف في جافا: ما الذي تريد أن تعرفه؟

نشرت: 2020-11-30

جدول المحتويات

مقدمة

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

المصفوفة هي بنية بيانات تخزن إدخالات من نفس نوع البيانات بالتتابع. تقلل المصفوفة من تكرار الكود وتجعله بسيطًا. عندما نريد تخزين عدد كبير من القيم ، لنقل 50 قيمة ، فإن تعيين كل قيمة لمتغير يتعارض مع بساطة الكود.

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

هيا بنا نبدأ!

الإعلان والتهيئة

لاستخدام مصفوفة نحتاج إلى التصريح عنها ويجب أن نحدد نوع بيانات المتغيرات التي نريد تخزينها في المصفوفة. على غرار جميع لغات البرمجة ، تحتوي جافا أيضًا على بناء جملة يجب اتباعه للإعلان.

مجموعة [] كثافة العمليات ؛ // type1

مجموعة int [] ؛ //النوع 2

يمكننا التصريح عن مصفوفة بطريقتين كما هو موضح في مقتطف الشفرة أعلاه. “Type2” هي طريقة تقليدية للتصريح عن مصفوفة مستعارة من c / c ++. بمجرد أن ننتهي من التصريح عن مصفوفة ، نحتاج إلى إنشاء مصفوفة جديدة ويمكن تحقيق ذلك باستخدام الكلمة الأساسية الجديدة.

وتكون صيغة تكوين المصفوفة كما يلي "نوع_المصفوفة [] مصفوفة = مصفوفة جديدة [طول_صفيف]". نحتاج إلى تعيين طول المصفوفة في وقت إنشائها ولا يمكن زيادة الحجم بعد الإنشاء.

بعد إنشاء مصفوفة بتحديد الطول ، تقوم فقط بتعيين مصفوفة فارغة لهذا المتغير ويمكننا دفع القيم إليها لاحقًا. دعنا نتصفح التعليمات البرمجية لذلك.

int [] array = new int [ 10 ] ؛ // إعلان و

// إنشاء مجموعة جديدة

// تعيين القيم

مجموعة [ 0 ] = 1 ؛

مجموعة [ 1 ] = 5 ؛

مجموعة [ 8 ] = 9 ؛

// الطريقة الثانية

عدد صحيح [] صفيف = { 1 ، 2 ، 3 ، 4 ، 5 } ؛

النظام . خارج . طباعة ( int [ 0 ]) ؛

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

التكرار فوق المصفوفة

يمكننا استخدام حلقة for أو حلقة while للتكرار على مصفوفة ، حيث نزيد الفهرس لكل تكرار. تذكر أن الوصول إلى عنصر بمؤشر أكبر من طول المصفوفة سيؤدي إلى استثناء.

عدد صحيح [] صفيف = { 1 ، 2 ، 3 ، 4 ، 5 } ؛

لـ ( int i = 0 ؛ i < 5 ؛ i ++ ) {

النظام . خارج . طباعة (مجموعة [i] + " " ) ؛

}

يطبع مقتطف الشفرة أعلاه "1 2 3 4 5" كإخراج.

هناك أيضًا حلقة أخرى مثيرة للاهتمام تسمى "for-each loop" للتكرار عبر الحلقة.

float [] array = { 1.2f ، 2.3f ، 3.4f ، 4.5f ، 5.6f } ؛

لـ ( float f : array) {

النظام . خارج . طباعة (f + " " ) ؛

}

يُظهر مقتطف الشفرة أعلاه تنفيذ حلقة for-each ، حيث يغير المتغير float القيمة إلى الإدخال التالي في المصفوفة عند كل تكرار. هذا التنفيذ لا يحتاج إلى أي متغير فهرس.

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

طرق محددة مسبقا

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

دعنا نتصفح بعض طرق المصفوفة المحددة مسبقًا.

  • نوع()

تقوم هذه الطريقة بفرز المصفوفة المحددة بترتيب تصاعدي وتحديث المصفوفة التي تم فرزها ، كما تمت مناقشته بالفعل ، فإن هذه الطريقة محملة فوق طاقتها لجميع أنواع البيانات الأولية في جافا. لا تقوم هذه الطريقة العامة بإرجاع أي شيء نظرًا لأنها من نوع الإرجاع الباطل.

Arrays.sort (array_name) هي الصيغة التي يجب اتباعها.

float [] array = { 2.2f ، 1.3f ، 5.4f ، 3.5f ، 7.6f } ؛

المصفوفات . فرز (مجموعة) ؛

لـ ( float f : array) {

النظام . خارج . طباعة (f + " " ) ؛

}

المقتطف أعلاه سيطبع “1.3 2.2 3.5 5.4 7.6” كما هو متوقع.

  • ملء()

تملأ هذه الطريقة المصفوفة بالمتغير الذي مررناه في استدعاء الوظيفة. تستبدل هذه الطريقة تطبيقًا ساذجًا للتكرار الحلقي فوق المصفوفة وتعيين قيمة إلى هذا الموضع.

Arrays.fill (اسم الصفيف ، القيمة) هي الصيغة التي يجب اتباعها.

float [] array = { 2.2f ، 1.3f ، 5.4f ، 3.5f ، 7.6f } ؛

المصفوفات . ملء (مجموعة ، 9.8f ) ؛

لـ ( float f : array) {

النظام . خارج . طباعة (f + " " ) ؛

}

سيحل المقتطف أعلاه محل جميع الإدخالات في المصفوفة بـ 9.8.

  • يساوي ()

تتوقع هذه الطريقة مصفوفتين كمعامل وتعيد صحيحًا إذا كانت جميع العناصر في المصفوفة 1 تساوي جميع عناصر المصفوفة 2. تذكر أن هذه الطريقة تُرجع خطأً إذا كان لكل من المصفوفتين أطوال مختلفة ، أو إذا كان ترتيب العناصر مختلفًا .

Arrays.equals (array_1، array_2) هي الصيغة التي يجب اتباعها.

float [] array1 = { 2.2f ، 1.3f ، 5.4f ، 3.5f ، 7.6f } ؛

float [] array2 = { 2.2f ، 1.3f ، 5.4f ، 3.5f ، 7.6f } ؛

float [] array3 = { 2.2f ، 1.3f ، 3.5f ، 5.4f ، 7.6f } ؛

النظام . خارج . println ( صفائف . يساوي (array1 ، array2)) ؛ //خط 1

النظام . خارج . println ( صفائف . يساوي (array1 ، array3)) ؛ //خط 2

سيطبع المقتطف أعلاه صحيحًا للسطر 1 وخطأ للسطر 2

لمزيد من القراءة حول طرق المصفوفات المختلفة في جافا ، ألق نظرة على وثائقها .

الوصول إلى المصفوفات في الأساليب

لن تكون المصفوفات مفيدة إذا لم نتمكن من استخدامها في الوظائف. لكن Java لا تخذلك أبدًا ، يمكننا تمرير مصفوفة ، وإرجاع مصفوفة ، واستخدام مصفوفة في دالة java.

دعونا نسير من خلالهم.

نحتاج إلى تحديد نوع بيانات المصفوفة في إعلان الوظيفة عندما نريد تمرير مصفوفة إلى وظيفة Java. يشبه هذا تقريبًا تمرير نوع بيانات بدائي للعمل. وبالمثل ، عندما نعيد مصفوفة ، نحتاج إلى إعلان المصفوفة كنوع الإرجاع.

عائم ثابت عام [] مرتبة ( مصفوفة عائمة ) {

المصفوفات . فرز (مجموعة) ؛

مجموعة العودة

}

العامة الثابتة الفراغ الرئيسي ( سلاسل سلسلة []) {

float [] array1 = { 2.2f ، 1.3f ، 5.4f ، 3.5f ، 7.6f } ؛

float [] array2 = Sorted (array1) ؛

لـ ( float f : array2)

النظام . خارج . طباعة (f + " " ) ؛

}

المقتطف أعلاه يطبع “1.3 2.2 3.5 5.4 7.6” كما هو متوقع.

قراءة: أنواع بيانات MATLAB: كل ما تحتاج إلى معرفته

خاتمة

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

إذا كنت مهتمًا بمعرفة المزيد حول Java و OOPs وتطوير البرامج الكاملة ، تحقق من upGrad & IIIT-B's دبلوم PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، 9 + المشاريع ، والتعيينات ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

استعد لمهنة المستقبل

تعلم موثوق به في الصناعة - شهادة معترف بها في الصناعة.
يتعلم أكثر