PDA

View Full Version : مقایسه دو تا arrayList



kiuhnmgtrdcv
سه شنبه 30 مهر 1387, 11:57 صبح
چطور دو تا arrayList رو با هم مقایسه کنیم به نحوی که عناصر تکراری حذف شوند arrayList های من هر کدومشون 100000 تا عنصر داره و باید این جستجو خیلی سریع باشه وگرنه خیلی زمان میبره تا عملیات تموم بشه با تشکر

SMRAH1
سه شنبه 30 مهر 1387, 12:06 عصر
سلام

1) بهتره از یک Thread جدا برای این موضوع استفاده کنی و در Thread اصلی به کاربر پیغام Please Wait رو نمایش بدی.
2) آرایه ها رو هم از آخر به اول مقایسه کن تا کمتر با ایندکس ها دچار مشکل بشی!

موفق باشید

kiuhnmgtrdcv
سه شنبه 30 مهر 1387, 16:02 عصر
فکر میکنم سوالمو خوب مطرح نکردم
من یک ارایه 100000 عنصری دارم که 100000 تا عدد تصادفی توی این ارایه ریختم مثلا اعداد تو بازه 100000 تا 999999
میخوام ببینم چطور میتونم عناصر تکراری رو از این ارایه پاک کنم؟ من اگر بیام یه ارایه دیگه درست کنم بعد بیام عناصر ارایه اولی را تو بریزم بعد ارایه دومی رو با اولی مقایسه کنم این کار عاقلانه ای هست؟ چون تعداد اعداد زیاده اگر بخوام اینطوری مقایسه کنم چون اعداد درون ارایه زیاده اول باید اعداد درون ارایه رو مرتب کنم بعد مقایسه کنم در اینصورت که ترتیب اعداد تصادفی بهم میریزه ؟

parsamiga
سه شنبه 30 مهر 1387, 16:19 عصر
سلام

شما میتونید بعد از اینکه اعدادتون تولید شد ، هر عدد رو با الگوریتم های جستجو ( انتخاب با خودته ) در آرایه جستجو کنی اگر آن عدد بیشتر از یکی موجود بود حذفش کنی...
اگر از الگوریتم خوبی استفاده کنی( عناصر حذف شده رو جستجو نکنه ) و هر زمان که پیدا میکنه اون عدد رو حذف کنی با سرعت بالا برنامت کار میکنه..

البته این یه پیشنهاده باید امتحان کنی:لبخند:
موفق باشی

SMRAH1
سه شنبه 30 مهر 1387, 18:25 عصر
من هم در تعداد کم روش جناب parsamiga (http://barnamenevis.org/forum/member.php?u=77239) رو تایید می کنم.خوده ArrayList دارای متد ها Sort و Search هم هست که اگر مناسب استفاده شود کاراست.به اینها متد Reapet و ... رو هم اضافه کنید

egoldashraf
چهارشنبه 01 آبان 1387, 04:43 صبح
اگه اعداد تصادفی تولید میکنی میتونی از یه Generic List استفاده کنی و اعدادی که index اونا توی لیست -1 نیست رو اضافه نکنی.