گاهی اوقات برنامه نویسان در انتخاب بین Array و ArrayList شک دارند که کدام را انتخاب نمایند. هردوی آنها قدرت و ضعف های مربوط به خود را دارند. باید با توجه به نیازی که در برنامه داریم از این دو امکان استفاده کنیم. حال به مقایسه کلی بین این دو امکان در جاوا می پردازیم.
دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
- آرایه اندازه ثابتی دارد در حالی که ArrayList این گونه نیست و اندازه اش متغیر است.
- به علت این که آرایه اندازه ثابتی دارد در همان زمان تعریف آرایه حافظه می گیرد. به این معنی که اختصاص حافظه به آرایه در زمان معرفی آرایه است به همین دلیل آرایه ها بسیار سریع هستند.
- از طرف دیگر اگر مطمئن نیستیم که اندازه آراه چه مقدار است و ممکن است که اندازه آرایه تغییر کند بهتر است که از ArrayList استفاده کنیم.
- در صورت استفاده از ArrayList خطاهای ArrayOutOfBoundException پیش نخواهد آمد و اگر آرایه ای تعریف کرده باشیم ولی از همه خانه های آن استفاده نکنیم فضای حافظه را به هدر داده ایم.
- اضافه یا حذف کردن مقادیر در ArrayList بسیار آسان تر است.
- آرایه ها می توانند چندبعدی باشند ولی 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 استفاده کند