الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يوجد حل لحذف عنصر محدد من Arraylist دون المرور ب Loop على كامل Arraylist?

بدأه computeach في 15 يونيو 2009 · 5 رد · 1,099 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إذا كانت arraylist تحتوي على عنصر واحد فقط واريد حذف هذا العنصر

يظهر لي هذا error

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

لكن لو كانت arraylist تحتوي على اكثر من عنصر وتم حذف واحد لا يحدث مشكلة

مع العلم انا جربت الاثنين:

connList.remove(indexElement)

connList.remove(Elementt) بدون index

كلها نفس المشكلة

هل يوجد حل لحذف عنصر محدد من arraylist دون المرور بـ loop على كامل arraylist?

 ArrayList <connID> connList= new ArrayList();

System.out.println("indexElement="+indexElement);	//0
					 System.out.println("ListSize="+connList.size());	//1


 connList.remove(indexElement);
#2

بالطبع لا

لأن arrayList مبنية في داخلها على array

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

باقي الأسئلة غير مفهومة بالمرة

لكن تأكد تماماً أنه لا مشاكل تحصل بالنسبة لهذه الفئة

اعرض الشيفرة كاملة لنرى ما المشكلة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

السلام عليكم ...

لست متأكداً و لكنك تخلط بين نوعين من الـ classes,

قم بكتابة تعريف الـ ArrayList على النحو التالي ::

ArrayList<connID> connList= new ArrayList<connID>();

تحياتي ...

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 15 يونيو 2009 في 22:10

#5

السلام عليكم

تستطيع استعمال الإترايتر iterator حيث الloop لا مفر منه :wu

Iterator it = myList.iterator();
while (it.hasNext()) {
	myElement = it.next();
	if (myElement == "condition to delete") {
		// We delete the element
		it.remove();
	}
	// other traitment
	.
	.
}
#6

جرب هذا المثال:

هذي الطريقة بدون loop

 int location = band.indexOf ("Pete");
	  band.remove (location);

المثال كامل:

//********************************************************************
//  Beatles.java	   Author: Lewis/Loftus
//
//  Demonstrates the use of a ArrayList object.
//********************************************************************

import java.util.ArrayList;

public class Beatles
{
   //-----------------------------------------------------------------
   //  Stores and modifies a list of band members.
   //-----------------------------------------------------------------
   public static void main (String[] args)
   {
	  ArrayList band = new ArrayList();


	  band.add ("Pete");


	  System.out.println (band);

	  int location = band.indexOf ("Pete");
	  band.remove (location);


	  System.out.println (band);
		 }
}

سلام

تم تعديل هذه المشاركة بواسطة sasar في 21 يونيو 2009 في 12:11

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…