تفاوت بین آرایه ها و آرایه ها

تفاوت بین آرایه ها و آرایه ها
تفاوت بین آرایه ها و آرایه ها

تصویری: تفاوت بین آرایه ها و آرایه ها

تصویری: تفاوت بین آرایه ها و آرایه ها
تصویری: تفاوت کامپایلر و اسمبلر | آموزش کومار 2024, جولای
Anonim

Arrays در مقابل Arraylists

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

آرایه ها چیست؟

نشان داده شده در شکل 1، یک قطعه کد است که معمولاً برای اعلام و تخصیص مقادیر به یک آرایه استفاده می شود. شکل 2 نشان می دهد که یک آرایه در حافظه چگونه به نظر می رسد.

مقادیر int[5];

values[0]=100;

values[1]=101;

values[2]=102;

values[3]=103;

values[4]=104;

شکل 1: کد برای اعلام و تخصیص مقادیر به یک آرایه

100 101 102 103 104
شاخص: 0 1 2 3 4

شکل 2: آرایه ذخیره شده در حافظه

کد بالا، آرایه ای را تعریف می کند که می تواند 5 عدد صحیح را ذخیره کند و با استفاده از شاخص های 0 تا 4 به آنها دسترسی پیدا می کند. یکی از ویژگی های مهم یک آرایه این است که، کل آرایه به عنوان یک بلوک از حافظه اختصاص داده می شود و هر عنصر آن را دریافت می کند. فضای اختصاصی در آرایههنگامی که یک آرایه تعریف می شود، اندازه آن ثابت می شود. بنابراین اگر در زمان کامپایل در مورد اندازه آرایه مطمئن نیستید، باید یک آرایه به اندازه کافی بزرگ برای قرار گرفتن در قسمت امن تعریف کنید. اما، اغلب اوقات، ما در واقع از تعداد عناصر کمتری نسبت به آنچه که اختصاص داده ایم استفاده می کنیم. بنابراین مقدار قابل توجهی از حافظه در واقع هدر می رود. از سوی دیگر، اگر "آرایه به اندازه کافی بزرگ" در واقع به اندازه کافی بزرگ نباشد، برنامه از کار می افتد.

Arraylists چیست؟

یک آرایه فهرست را می توان به عنوان یک آرایه پویا دید که می تواند در اندازه بزرگ شود. بنابراین آرایه‌ها برای استفاده در شرایطی که اندازه عناصر مورد نیاز در زمان اعلام را نمی‌دانید ایده‌آل هستند. در جاوا، آرایه‌ها فقط می‌توانند اشیاء را نگه دارند، نمی‌توانند انواع اولیه را مستقیماً نگه دارند (شما می‌توانید انواع اولیه را درون یک شی قرار دهید یا از کلاس‌های wrapper انواع اولیه استفاده کنید). به طور کلی آرایه ها با روش هایی برای انجام درج، حذف و جستجو ارائه می شوند. پیچیدگی زمانی دسترسی به یک عنصر o(1) است، در حالی که درج و حذف دارای پیچیدگی زمانی o(n) است.در جاوا، آرایه‌ها را می‌توان با استفاده از حلقه‌های foreach، تکرارکننده‌ها یا به سادگی با استفاده از ایندکس‌ها پیمایش کرد.

تفاوت Arrays و Arraylists چیست

اگرچه آرایه ها و آرایه ها به این معنا شبیه هستند که هر دوی آنها برای ذخیره مجموعه ای از عناصر استفاده می شوند، اما در نحوه تعریف آنها متفاوت هستند. اندازه آرایه باید زمانی که یک آرایه تعریف می شود داده شود، اما شما می توانید یک لیست آرایه را بدون دانستن اندازه واقعی تعریف کنید. شما می توانید عناصر را پس از تعریف آرایه به آن اضافه کنید و این با آرایه ها امکان پذیر نیست. اما در جاوا، آرایه‌ها نمی‌توانند انواع اولیه را نگه دارند، اما از آرایه‌ها می‌توان برای نگهداری انواع اولیه استفاده کرد. اما اگر به ساختار داده ای نیاز دارید که بتواند اندازه آن را تغییر دهد، آرایه لیست بهترین انتخاب خواهد بود.

توصیه شده: