في جافا، مجموعة مصفوفة و ArrayList هي هياكل البيانات المعروفة. المصفوفة هي وظيفة أساسية توفرها Java، في حين أن ArrayList هي فئة من إطار مجموعات جافا. تنتمي إلى java.util طَرد.
مصفوفة جافا
ان مجموعة مصفوفة هو كائن تم إنشاؤه ديناميكيًا. إنه بمثابة حاوية تحتوي على عدد ثابت من القيم من نفس النوع. لديها موقع ذاكرة متجاورة. بمجرد إنشاء المصفوفة، لا يمكننا تغيير حجمها. يمكننا إنشاء مصفوفة باستخدام العبارة التالية:
int array[]=new int[size];
العبارة أعلاه تنشئ مصفوفة بالحجم المحدد. عندما نحاول إضافة أكثر من حجمه، فإنه يرمي مؤشر مجموعة خارج الحدود استثناء . على سبيل المثال:
int arr[]=new int[3]; //specified size of array is 3 //adding 4 elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67;
فئة جافا ArrayList
في جافا، ArrayList هي فئة من إطار عمل المجموعات. ينفذ قائمة، مجموعة، قابلة للتكرار، قابلة للاستنساخ، قابلة للتسلسل ، و دخول عشوائي واجهات. يمتد AbstractList فصل.
يمكننا إنشاء مثيل لـ ArrayList باستخدام العبارة التالية:
ArrayList arrayList=new ArrayList();
يتم دعم ArrayList داخليًا بواسطة المصفوفة في Java. تؤدي عملية تغيير الحجم في ArrayList إلى إبطاء الأداء لأنها تتضمن مصفوفة جديدة ونسخ المحتوى من مصفوفة قديمة إلى مصفوفة جديدة. وهو يستدعي الطريقة المنفذة الأصلية System.arraycopy(sec, srcPos, dest, destPos, length) .
لا يمكننا تخزين النوع البدائي في ArrayList. لذلك، فإنه يخزن الأشياء فقط. يقوم تلقائيًا بتحويل النوع البدائي إلى كائن. على سبيل المثال، قمنا بإنشاء كائن ArrayList،
ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList
يقوم JVM بتحويله إلى كائن عدد صحيح من خلال الملاكمة التلقائية.
ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object
التشابه
- يتم استخدام كل من Array وArrayList لتخزين العناصر.
- يمكن لكل من Array وArrayList تخزين القيم الخالية.
- يمكن أن يكون لديهم قيم مكررة.
- أنها لا تحافظ على ترتيب العناصر.
يصف الجدول التالي الاختلافات الرئيسية بين المصفوفة وArrayList:
أساس | مجموعة مصفوفة | ArrayList |
---|---|---|
تعريف | ان مجموعة مصفوفة هو كائن تم إنشاؤه ديناميكيًا. إنه بمثابة حاوية تحتوي على عدد ثابت من القيم من نفس النوع. لديها موقع ذاكرة متجاورة. | ال ArrayList هي فئة من جافا المجموعات نطاق. أنه يحتوي على فئات شعبية مثل ناقلات، HashTable ، و خريطة التجزئة . |
ديناميكية ثابتة | المصفوفة هي ثابتة في الحجم. | قائمة المصفوفات هي متحرك في الحجم. |
يمكن تغيير حجمها | المصفوفة هي أ طول ثابت بنية البيانات. | قائمة المصفوفات هي أ متغير الطول بنية البيانات. يمكن تغيير حجمه بنفسه عند الحاجة. |
التهيئة | من الضروري توفير حجم المصفوفة أثناء تهيئتها بشكل مباشر أو غير مباشر. | يمكننا إنشاء مثيل لـ ArrayList دون تحديد حجمه. تقوم Java بإنشاء ArrayList بالحجم الافتراضي. |
أداء | إنه يؤدي سريع بالمقارنة مع ArrayList بسبب الحجم الثابت. | يتم دعم ArrayList داخليًا بواسطة المصفوفة في Java. تؤدي عملية تغيير الحجم في ArrayList إلى إبطاء الأداء. |
نوع بدائي/عام | يمكن للمصفوفة تخزين كليهما أشياء و البدائيون يكتب. | لا يمكننا تخزين بدائية اكتب في ArrayList. يقوم تلقائيًا بتحويل النوع البدائي إلى كائن. |
القيم التكرارية | نحن نستخدم ل حلقة أو لكل حلقة للتكرار على مصفوفة. | نحن نستخدم مكرر للتكرار عبر ArrayList. |
النوع-السلامة | لا يمكننا استخدام الأدوية العامة مع المصفوفة لأنها ليست نوعًا قابلاً للتحويل من المصفوفة. | يسمح لنا ArrayList بالتخزين فقط نوعي/ اكتب، ولهذا السبب فهو آمن للنوع. |
طول | يوفر المصفوفة أ طول المتغير الذي يدل على طول المصفوفة. | يوفر ArrayList مقاس() طريقة لتحديد حجم ArrayList. |
إضافة عناصر | يمكننا إضافة عناصر إلى مصفوفة باستخدام تكليف المشغل أو العامل. | توفر جافا يضيف() طريقة لإضافة عناصر في ArrayList. |
مفردة/متعددة الأبعاد | يمكن أن يكون المصفوفة متعدد الأبعاد . | ArrayList موجود دائمًا أحادي البعد . |
مثال على المصفوفة في جافا
في المثال التالي، قمنا ببساطة بإنشاء مصفوفة بطول أربعة.
public class ArrayExample { public static void main(String args[]) { //creating an array of integer type int arr[]=new int[4]; //adding elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; for(int i=0;i <arr.length;i++) { system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 12 2 15 67 </pre> <h2>Example of ArrayList in Java</h2> <p>In the following example, we have created an instance of ArrayList and performing iteration over the ArrayList.</p> <pre> import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 12.4 34.6 56.8 78.9 </pre> <hr></arr.length;i++)>
مثال على ArrayList في Java
في المثال التالي، قمنا بإنشاء مثيل لـ ArrayList وتنفيذ التكرار عبر ArrayList.
import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } }
انتاج:
قال مادهوري
12.4 34.6 56.8 78.9