menusearch
javapro.ir

جلسه سوم - کلاس LinkedList در جاوا

جستجو
پنج شنبه ۲۴ خرداد ۱۴۰۳ | ۶:۵۲:۸
۱۳۹۶/۹/۸ چهارشنبه
(5)
(0)
جلسه سوم - کلاس LinkedList در جاوا
جلسه سوم - کلاس LinkedList در جاوا
به نام خدا

       
تقدیم به هموطنان عزیزم



جاوا را با لذت یاد بگیر!

آموزش زبان برنامه نویسی جاوا

Collections در جاوا

موضوع: کلاس LinkedList

جلسه: سوم

نویسنده : رحمان زارعی

جاوا را ساده،آسان و شیرین بنوشید!!!

سلام. امیدوارم خوب و شاد باشی، امروز قصد داریم کلاس LinkedList یکی از کلاس های موجود در فریم ورک Collection در جاوارا بررسی کنیم. در فارسی به LinkedList، لیست پیوندی می‌گویند. در درس ساختمان داده ها شما با نحوه پیاده سازی الگوریتم LinkedList(لیست پیوندی) آشنا می‌شوید. اما ما اصلا کار به این الگوریتم ها نداریم! تنها میخوایم کاربرد LinkedList(لیست پیوندی) مثل ArrayList در جاوارو بررسی کنیم.

کلاس LinkedList در جاوا
کلاس LinkedList از یک لیست پیوندی دو طرفه (doubly linked list) برای ذخیره عناصر استفاده می‌کند. کلاس LinkedList کلاس AbstractList را به ارث برده و دو اینترفیس List و Deque را implements کرده است، بنابراین به ویژگی ها و رفتارهای آنها دسرسی دارد.
یک LinkedList (لیست پیوندی) می‌توانید عناصر تکرای داشته باشد. 
 
دستکاری یک LinkedList (لیست پیوندی) به سرعت انجام می‌شود. 
 
یک LinkedList می‌تواند از list، stack یا queue استفاده کند. 
 

•    در فارسی به queue صف، به list لیست و به stack هم پشته می‌گویند. 😊😊😊


سلسله مراتب کلاس LinkedList در جاوا
در نمودار تصویر(1) نشان داده ایم که کلاس LinkedList کلاس AbstractList را extends کرده و دو اینترفیس List و Deque را implements کرده است.

سلسله مراتب کلاس LinkedList  در جاوا


لیست پیوندی دو طرفه (Doubly Linked List)
در نمونه لیست پیوندی دو طرفه (doubly linked list)، ما می‌توانیم عناصر خود را از هر طرف لیست اضاف یا حذف کنیم.در تصویر(2) نمونه ای از یک لیست پیوندی دو طرفه را مشاهده می‌کنید:

لیست پیوندی در جاوا

•    منظور از این که می‌توانیم از هر طرف لیست، یک عنصر را اضاف یا حذف کنیم این است که مثلا می‌توانیم عنصر خود را از سمت راست یا چپ لیست حذف یا به آن اضاف کنیم.
•    مثلا قصد داریم عنصر 30 را به ابتدای لیست پیوندی دو طرفه موجود در تصویر(2) اضاف کنیم، نتیجه در تصویر(3) مشاهده کنید:

کاربرد لیست پیوندی در جاوا

•    حالا طریقه اضاف یا حذف کردن یک عنصر به لیست پیوندی دو طرفه رو جلوتر یاد خواهیم گرفت.

•    برای استفاده و تعریف کلاس LinkedList در برنامه خود باید پکیج زیر را بالای سر کلاس خود import کنید:
import java.util.LinkedList; 

سازنده های کلاس LinkedList
شماره  Constructor(سازنده) توضیح 
1 LinkedList() برای ساختن یک لیست پیوندی (LinkedList) خالی استفاده می‌شود. 
2 LinkedList(Collection c) برای ایجاد یک لیست پیوندی (LinkedList) که عناصر درون لیست از عناصر مجموعه c تشکیل می‌شود.
همان طور که می‌دانید ما در فارسی به Collection مجموعه یا کلکسیون می‌گوییم.
مجموعه c می‌تواند شامل اشیای انواع کلاس های موجود در فریم ورک Collection مثل ArrayList و... شود.
 


متدهای کلاس LinkedList (لیست پیوندی)
شماره متد توضیح 
1 void add(int index, Object element) برای درج (اضاف کردن) یک عنصر مشخص در خانه index ام لیست پیوندی کاربرد دارد. 
2 void addFirst(Object o) عنصر o را ابتدای لیست پیوندی درج می‌کند.
منظور از ابتدای لیست همان خانه اول لیست است.
 
3 void addLast(Object o) عنصر o را انتهای لیست پیوندی درج می‌کند. 
4 int size() تعداد عناصر موجود در لیست پیوندی را برمی گرداند. 
5 boolean add(Object o) عنصر o را به انتهای لیست پیوندی وصل می‌کند. 
6 boolean contains(Object o) اگر عنصر o در لیست پیوندی ما وجود داشت مقدار true برمی گرداند در غیر این صورت مقدار false برمی گرداند.
معمولا برای پیدا کردن یک عنصر در لیست پیوندی استفاده می‌شود.
 
7 boolean remove(Object o) 
برای حذف اولین عنصر o موجود در لیست پیوندی استفاده می‌شود.
برای مثال فرض کنید یک لیست پیوندی به صورت زیر داشته باشیم:
[e, a, b, c, a, d]
در لیست پیوندی بالا همان طور که می‌بینید، دو عنصر a وجود دارد، حال اگر بخواهیم از طریق متد remove عنصر a را حذف کنیم، اولین عنصر a موجود در لیست حذف می‌شود، نتیجه بعد از حذف عنصر a از طریق این متد به صورت زیر است:
[e, b, c, a, d]
پس متد remove(Object o) همیشه اولین عنصر مشخص o را در یک لیست پیوندی حذف می‌کند.
 
8 Object getFirst() اولین عنصر لیست پیوندی را برمی گرداند. 
9 Object getLast() آخرین عنصر لیست پیوندی را برمی گرداند. 
10 int   index Of(Object o) 
ایندکس یا شماره خانه اولین عنصر مشخص o در لیست پیوندی را برمی گرداند. در صورت عدم وجود عنصر مورد نظر در لیست پیوندی مقدار -1 را برمی گرداند.
منظور اولین عنصر این است که اگر چند عنصر o تکراری در لیست پیوندی داشته باشیم، اولین o را انتخاب کرده و شماره خانه آن را برمی گرداند.
برای مثال فرض کنید یک لیست پیوندی به صورت زیر داشته باشیم:
[e, a, b, c, a, d]
در این لیست پیوندی قصد داریم ایندکس یا شماره خانه اولین عنصر a را به دست آوریم، همان طور که مشاهده می‌کنید در این لیست پیوندی ما دو عنصر مشابه a وجود دارد. اگر عنصر a را به عنوان پارامتر به متد index Of بدهیم، شماره خانه اولین عنصر a موجود در لیست پیوندی را به ما تحویل می‌دهد، که برابر 1 است.
 
11 int last index Of(Object o) 
این متد برعکس متد index Of عمل می‌کند.
این متد ایندکس یا شماره خانه آخرین عنصر o موجود در لیست پیوندی را برمی گرداند. در صورت عدم وجود عنصر مورد نظر در لیست پیوندی مقدار -1 را برمی گرداند.
برای مثال فرض کنید یک لیست پیوندی به صورت زیر داشته باشیم:
[e, a, b, c, a, d]
در این لیست پیوندی قصد داریم ایندکس یا شماره خانه آخرین عنصر a را به دست آوریم، همان طور که مشاهده می‌کنید در این لیست پیوندی ما دو عنصر مشابه a وجود دارد. اگر عنصر a را به عنوان پارامتر به متد last index Of بدهیم، شماره خانه آخرین عنصر a موجود در لیست پیوندی را به ما تحویل می‌دهد، که برابر 4 است.
 
 

 
•    اگر توضیحات روشن نبود نگران نباشید چرا که حل مثال و آزمون و خطا کردن شما رو در یادگیری کمک خواهد کرد.
Example:
package linkedList;


//https://t.me/java like

import java.util.*;

public class TestCollection7 {
   public static void main(String args[]) {

       LinkedList<String> al = new LinkedList<String>();
     al.add("borazjan");
       al.add("bushehr");
       al.add("Tehran");
       al.add("shiraz");
       al.addFirst("kermanshah");

       Iterator<String> itr = al.iterator();
       while (itr.hasNext()) {
           System.out.println(itr.next());
       }
   }
 
خروجی(output):
kermanshah
borazjan
bushehr
Tehran
shiraz
 
 
توضیحات:
LinkedList<String> al = new LinkedList<String>();
 

برای ایجاد یک LinkedList (لیست پیوندی) نیز می‌توانیم شبیه ArrayList عمل کنیم.
گام های ایجاد یک LinkedList که عناصرش می‌توانند از نوع String باشند به صورت زیر است:

روش ایجاد شی از LinkedList در جاوا

1.    ابتدا نام کلاس LinkedList را تایپ می‌کنیم.

2.    بعد نوع عناصری که لیست پیوندی ما می‌تواند ذخیره کند را بین دو تگ < > قرار می‌دهیم.ما در اینجا نوع عناصر لیست پیوندی را از نوع String تعیین کرده ایم.

3.    یک نام برای لیست پیوندی خود تعیین می‌کنیم.

4.    یک علامت مساوی می‌گذاریم.

5.    همان طور که می‌دانید برای شی سازی از هر کلاس باید از کلمه کلیدی new استفاده کنیم.
6.    دوباره نام کلاس LinkedList را تایپ می‌کنیم.

7.    دوباره نوع عناصری که لیست پیوندی ما می‌تواند ذخیره کند را بین دو تگ < > قرار می‌دهیم.
8.    پرانتر باز و بسته می‌کنیم

9.    یک علامت ; هم انتهای پرانتز می‌گذاریم.

•    مورد 6 تا 8 همان سازنده کلاس LinkedList است که بعد از کلمه کلیدی new صدا زده شده است.

ادامه این جلسه آموزشی رو به صورت کتاب الکترونیکی کامل در لینک زیر دانلود کنید

این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)




کانال تلگرام آموزش جاوا



آموزش آسان و ساده زبان برنامه نویسی جاوا
لینک دانلود

نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
 
telegraminstagramaparat
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی