PDA

View Full Version : سوال: ادغام دو ArrayList



m_soheyl_s
شنبه 22 آذر 1393, 21:06 عصر
من چون به دو آرایه با طول نامشخص داشتم و نمیخواستم خونه ی خالی در آرایه ام داشته باشم. از ArrayList استفاده کردم.
حالا می خوام دو آرایه AarrayList رو که محتویاتش همگی int است را در یک ArrayList بریزم و به قول معروف ادغام کنم.
چه جوری باید این کار را انجام بدهم؟
با + کردن جواب نداد.

plus
شنبه 22 آذر 1393, 21:15 عصر
از متد AddRange استفاده کنید.

ArrayList array1 = new ArrayList();
..
..
ArrayList array2 = new ArrayList();
..
..
ArrayList merged = new ArrayList(array1.Count + array2.Count);
merged.AddRange(array1);
merged.AddRange(array2);

در ضمن اگه نوع آیتم های آرایه ثابت هست (مثلا همه int) بهتره بجای ArrayList از <List<int استفاده کنید.

m_soheyl_s
شنبه 22 آذر 1393, 21:30 عصر
در ضمن اگه نوع آیتم های آرایه ثابت هست (مثلا همه int) بهتره بجای ArrayList از <List<int استفاده کنید.

List مزیت خاصی مثلا سرعت نسبت به ArrayList داره؟
و ادغام دو تا لیست هم شبیه همین کد ArrayListe؟

plus
شنبه 22 آذر 1393, 22:10 عصر
بله هم از نظر سرعت (البته خیلی نا محسوس) و از نظر type-checking که احتمال وجود خطا در کد کاهش پیدا میکنه.قبلا در این مورد یک پست گذاشتم.Boxing و Unboxing رو جستجو کنید.
بله ادغام List هم به همین ترتیب هست.