تفاوت بین آرایه (Array) و لیست آرایه (ArrayList)

یک آرایه (Array)، در زمان تعریف دارای اندازه مشخص می باشد. امکان اضافه کردن یا حذف کردن آیتم به آن وجود ندارد. همچنین تمام آیتم ها می بایست از یک نوع (Type) باشند. در نتیجه آرایه ها دارای نوع مطمئن و مشخص هستند که عامل مهمی در اجرا و اختصاص حافظه ی مورد نیاز می باشد.

چنانچه در هنگام تعریف آرایه، مانند مثال فوق آرایه را از نوع خاصی مثلا int تعریف کنیم، در آنصورت آرایه مورد نظر تنها مقادیر از نوع int را قبول می کند و در خارج از این حالت خطا می دهد. برای رفع این مشکل می تواند آرایه را از نوع object تعریف کرد.

از دیگر ویژگی های آرایه اینست که می تواند چندین بعد (Dimension) داشته باشد، در حالیکه لیست آرایه (ArrayList) از این ویژگی برخوردار نیست.

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