Collection در جاوا , LinkedList

ناصر نادری | 1394/05/11


بنام خدا .

در این جلسه از سری آموزشهای جاوا پیشرفته میپردازیم به لیستهای پیوندی یا LinkedList .

لیست پیوندی نوعی از ساختمان داده هاست  که برای ذخیره انواع داده ها در حافظه ram بصورت زنجیری استفاده میشه . هر  عنصر توی یک گره از لیست پیوندی  که آدرس گره بعدی و توی لیست دو طرفه آدرس گره قبلی رو نگه میداره . گرهها فیزیکن کنار هم نیستن ولی منطقن با اشاره گر ها بهم وصل شدن. مرتب سازی یک لیست پیوندی معمولا زمانگیر هست. درج و حذف عناصر هم فقط با جابجایی اشاره گرها انجام میشه .

اما در عمل جاوا  مارو از این جزییات پیاده سازی  خلاص کرده و فقط کلاسی به نام LinkedList که از اینترفیس  List ارث بری داشته  رو ارائه میده .  نوع عناصر لیست پیوندی رو باید در هنگام تعریفش مشخص کرد که این کار رو در تعریف ArrayList هم انجام میدادیم .

توی کد زیر یک نمونه از لیست پیوندی در جاوا تعریف و استفاده شده :

import java.util.*;
public class LinkedListExample {
public static void main(String args[]) {

    /* تعریف لیست پیوندی با عناصر از نوع رشته */
    LinkedList<String> linkedlist = new LinkedList<String>();

    /*اضافه کردن عناصر به لیست*/
    linkedlist.add("php");
    linkedlist.add("java");
    linkedlist.add("c++");
    linkedlist.add("ruby");


    /*مشاهده یکباره لیست پیوندی    */
    System.out.println("محتوی لیست پیوندی: " +linkedlist);

    /*اضافه کردن عنصر به ابتدا و انتهای لیست که بسیار هم سریع هست*/
    linkedlist.addFirst("android");
    linkedlist.addLast("pascal");

    /*چاپ محتوی لیست بعد از اضافه کردن عناصر به ابتدا و انتها*/
    System.out.println("محتوی جدید لیست: " +linkedlist);

    /*گرفتن و ست کردن یک مقدار از یک اندیس خاص*/
    Object firstvar = linkedlist.get(0);
    System.out.println("مقدار عنصر اول لیست: " +firstvar);

    /*تغییر مقدار عنصر اول لیست*/
    linkedlist.set(0, "ios");
    Object firstvar2 = linkedlist.get(0);
    System.out.println("عنصر اول لیست بعد از بروز رسانی: " +firstvar2);
    
    /*حذف عناصر ابتدایی و انتهایی لیست    */
    linkedlist.removeFirst();
    linkedlist.removeLast();
    System.out.println("محتوی لیست بعد از حذف عناصر: " +linkedlist);

    /* اضافه کردن یک گره در ابتدا و پاک کردن گره با اندیس دو*/
    linkedlist.add(0, "Newly added item");
    linkedlist.remove(2);
    System.out.println("محتوی لیست بعد از تمام تغییرات: " +linkedlist); 
    }
}

متدهای زیادی برای کار با لیست پیوندی یا LinkedList در جاوا وجود داره که هرکدوم کارای بسیار بزرگی رو فقط با یک خط انجام میدن. از لست پیوندی زمانی استفاده کنید که مرتب سازی کمی داشته باشید و درج و حذف بالایی داشته باشد .

تا جلسه بعد در پناه حق .


فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد

نظرات شما نظر جدید