مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

تفاوت Array و ArrayList در جاوا

گاهی اوقات برنامه نویسان در انتخاب بین Array و ArrayList شک دارند که کدام را انتخاب نمایند. هردوی آنها قدرت و ضعف های مربوط به خود را دارند. باید با توجه به نیازی که در برنامه داریم از این دو امکان استفاده کنیم. حال به مقایسه کلی بین این دو امکان در جاوا می پردازیم.

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

برای مثال به کد زیر دقت کنید.

import java.util.ArrayList;
public class arrayVsArrayList {
	public static void main(String[] args) {
		int[] myArray = new int[6];
		myArray[7]= 10; //خطای ArraysOutOfBoundException
		//معرفی و حذف و اضافه کردن عناصر.
		ArrayList<Integer> myArrayList = new ArrayList<>();
		myArrayList.add(1);
		myArrayList.add(2);
		myArrayList.add(3);
		myArrayList.add(4);
		myArrayList.add(5);
		myArrayList.remove(0);
		for(int i = 0; i < myArrayList.size(); i++) {
		System.out.println("Element: " + myArrayList.get(i));
		}
		//آرایه چند بعدی
		int[][][] multiArray = new int [3][3][3];
	}
}

برنامه نویسان می توانند با توجه به نیازی که در برنامه دارند از آرایه یا ArrayList استفاده کند.Itpro باشید

نویسنده: مهدی عادلی فر

منبع: انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات