لینکدلیست (LinkedList)
«لینکدلیست جاوا (LinkedList)» مثل قطار واگن هاست. هر واگن به بعدی وصل است. این کلاس در بسته java.util قرار دارد. همچنین رابط «لیست (List)» را دنبال می کند. اگر زیاد اضافه و حذف می کنی، لینکدلیست راحت تر است. مثل صف ناهار مدرسه.
معرفی سریع لینکدلیست جاوا
لینکدلیست و آرِیلیست هر دو لیست هستند. بنابراین متدهای مشترک دارند. چون هر دو از لیست (List) پیروی می کنند. اما ساختار داخلی متفاوت است. آرِیلیست روی آرایه است. لینکدلیست روی گره های زنجیره ای است.
ایجاد و افزودن عنصر
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
نکته: چون لینکدلیست زنجیره ای است، افزودن ابتدا/انتها خیلی راحت است.
کِی لینکدلیست بهتر است؟
وقتی زیاد درج و حذف داری، لینکدلیست کمک می کند. اما برای دسترسی تصادفی، آرِیلیست راحت تر است. برای مقایسه، صفحه آرِیلیست (ArrayList) را ببین.
کلیدواژه var در جاوا 10
// Without var
LinkedList<String> cars = new LinkedList<String>();
// With var
var cars = new LinkedList<String>();
نکته: var کد را کوتاه می کند. اما خیلی ها شفافیت را ترجیح می دهند.
اعلان با رابط لیست
import java.util.List;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
List<String> cars = new LinkedList<>();
cars.add("Volvo");
System.out.println(cars.get(0));
}
}
سه گام عملی
- یک LinkedList بساز و چند مورد اضافه کن.
- یکی را از ابتدا یا انتها حذف کن.
- با getFirst یا getLast مقدارها را بررسی کن.
نکته: برای عملیات ویژه از متدهای addFirst، addLast، removeFirst و removeLast استفاده کن.
جمع بندی سریع
- لینکدلیست زنجیره ای و قابل انعطاف است.
- افزودن و حذف ابتدا/انتها سریع است.
- برای دسترسی با اندیس، آرِیلیست راحت تر است.
- هر دو از رابط لیست پیروی می کنند.