LinkedList اجازه دسرسی تصادفی به عناصر موجود در لیست را نمی دهد.
ArrayList اجازه دسرسی تصادفی به عناصر موجود در لیست را می دهد.
2
ساختمان داده داخلی که برای ذخیره عناصر استفاده می شود یک لیست پیوندی دو طرفه(doubly linked list) است.
ساختمان داده داخلی که برای ذخیره عناصر استفاده می شود یک آرایه پویا(dynamic array) است.
3
LinkedList کلاس AbstractSequentialList را extends کرده است.
ArrayList کلاس AbstarctList را extends یا به ارث برده است.
4
LinkedList علاوه بر اینترفیس list اینترفیس های Deque و Queueرا implements کرده است. ما در جلسات آینده در مورد ها Deque و Queue بحث خواهیم کرد.
کلاس AbstarctList نیز اینترفیس List را implements کرده است. به دلیل این که کلاس ArrayList کلاس AbstarctList به ارث برده و کلاس AbstarctList نیز اینترفیس List را implements کرده است. ، پس می توان گفت که کلاس ArrayList اینترفیس List را implements کرده است
5
دسرسی به عناصر موجود در لیست LinkedList کندتر است.
دسرسی به عناصر موجود در لیست ArrayList سریع تر است.
6
دستکاری به عناصر موجود در لیست LinkedList سریع تر است.
دستکاری عناصر موجود در لیست ArrayList کندتر است.
7
LinkedList هم می تواند به عنوان یک list(لیست) و هم یک Queue (صف) عمل کند. زیرا هر دو اینترفیس List و Queue را implements کرده است.
ArrayList فقط می تواند به عنوان یک list(لیست) عمل کند، زیرا تنها اینترفیس List را implements کرده است.
8
LinkedList برای دستکاری داده ها بهتر است. منظور از دستکاری ، عملیات حذف یا اضاف کردن عناصر در لیست می باشد.
ArrayList برای ذخیره و دسرسی به داده ها بهتر است.
package linkedList;import java.util.*;class TestArrayLinked { public static void main(String args[]) { List al = new ArrayList();// creating arraylist al.add("Ravi");// adding object in arraylist al.add("Vijay"); al.add("Ravi"); al.add("Ajay"); List al2 = new LinkedList();// creating linkedlist al2.add("James");// adding object in linkedlist al2.add("Serena"); al2.add("Swati"); al2.add("Junaid"); System.out.println("arraylist: " + al); System.out.println("linkedlist: " + al2); } }