كيفية استخدام Java ArrayList

كيفية استخدام Java ArrayList

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





ما هو الفرق بين التلفزيون والشاشة

هناك عدة أنواع أخرى من 'المصفوفات' (الفئات التي تقوم بتنفيذ الامتداد قائمة واجهة تقنية) مخصصة لأغراض خاصة. وتشمل هذه:





  • لينكدليست يدعم الإدخال والإزالة بسرعة في المؤشرات الوسيطة.
  • المتجه مشابه لـ ArrayList ولكنه متزامن ومناسب بدلاً من ArrayList للتطبيقات متعددة الخيوط.
  • كومة يدعم عمليات لتقليد قائمة ما يرد أخيرًا. يمتد المتجه ومن ثم تتم مزامنتها.

هذه الفئات الخاصة خارج نطاق هذه المقالة. ومع ذلك ، سوف تتعلم كيفية إعداد واستخدام Java ArrayList للأغراض العامة.





إنشاء ArrayList

إنشاء ملف ArrayList الأمر بسيط. فارغ ArrayList يمكن إنشاؤها باستخدام مُنشئ no-arguments. هنا نقوم بإنشاء مصفوفة فارغة لعقد السلاسل.

ArrayList alist = new ArrayList();

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



ArrayList alist = new ArrayList(20);

ملء قائمة ArrayList

إضافة العناصر في النهاية

من السهل جدًا ملء موقع Arraylist. فقط استخدم ملف يضيف() طريقة لإضافة عنصر واحد إلى نهاية المصفوف. هنا مثال:

ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]

لمعرفة عدد العناصر الموجودة في قائمة المصفوفات ، استخدم الطريقة بحجم() .





System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4

إضافة عناصر في فهرس محدد

تريد إضافة عنصر في فهرس عشوائي؟ حدد الفهرس باعتباره الوسيطة الأولى وسيتم إضافة العنصر إلى هذا الفهرس:

alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]

إضافة مجموعة من العناصر

يمكنك إضافة عناصر من أي مجموعة في التسلسل الهرمي لمجموعات Java أيضًا. ان ArrayList هو نوع معين يسمى قائمة . إليك طريقة لإنشاء ملف قائمة من مجموعة من العناصر (باستخدام Arrays.asList () ) وقم بإضافته إلى ملف ArrayList .





List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]

بالطبع ، يمكنك تحديد فهرس باعتباره الوسيطة الأولى هنا لإضافة العناصر التي تبدأ من هذا الفهرس.

الوصول إلى العناصر

بمجرد إضافة العناصر إلى قائمة Arraylist ، كيف يمكننا الوصول إليها مرة أخرى؟

الوصول مع فهرس

إذا كنت تعرف فهرس العنصر ، يمكنك استخدام احصل على() طريقة لاسترداد العنصر في هذا الفهرس.

يتعذر على Windows 10 الاتصال بالإنترنت
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

العثور على البنود

ماذا لو كنت لا تعرف فهرس المادة؟ يمكنك استخدام دليل ل() للتحقق مما إذا كان العنصر موجودًا في المصفوفة واسترداد العنصر باستخدام الفهرس الذي تم إرجاعه.

System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4

ماذا لو لم يكن العنصر موجودًا في المصمم؟ ال دليل ل() طريقة إرجاع -1 عندما لا يتم العثور على العنصر.

index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found

التكرار على قائمة ArrayList

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

فيما يلي أبسط طريقة للتكرار على مصفوفين واستخراج العناصر لنوع من المعالجة.

for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'

يستخدم هذا الرمز Java Enhanced For-Loop الذي تم تقديمه في Java 1.5. قبل ذلك ، يمكنك تكرار العناصر باستخدام مكرر. يتم استخدام مكرر أيضًا عندما تحتاج إلى ذلك إزالة العناصر أثناء عملية التكرار كما يوضح المثال أدناه. (لاحظ أننا نقوم بعمل نسخة من المصمم والعمل على النسخة.)

ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'

استبدال العناصر

بمجرد إضافة العناصر ، نحتاج إلى طريقة لاستبدال العناصر غير المرغوب فيها. يمكن القيام بذلك باستخدام ملف يضع() طريقة مع فهرس.

alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

إزالة العناصر

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

String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe

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

لا يوجد اتصال بالإنترنت جهاز الكمبيوتر الخاص بك غير متصل بالإنترنت
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

كيف حالك استخدام ArrayList في مشاريعك وما هي القضايا الخاصة التي واجهتها؟ واسمحوا لنا أن نعرف في التعليقات أدناه.

يشارك يشارك سقسقة بريد الالكتروني كيفية الوصول إلى مستوى الفقاعة المدمج من Google على Android

إذا احتجت في أي وقت إلى التأكد من أن شيئًا ما مستوي في السؤال ، يمكنك الآن الحصول على مستوى فقاعة على هاتفك في ثوانٍ.

اقرأ التالي
مواضيع ذات صلة
  • برمجة
  • جافا
نبذة عن الكاتب جاي سريدهار(تم نشر 17 مقالة) المزيد من Jay Sridhar

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك