menusearch
javapro.ir

جلسه اول - فریم ورک Collection در جاوا

جستجو
سه شنبه ۱۳ آذر ۱۴۰۳ | ۰:۳۴:۲۴
۱۳۹۶/۹/۲ پنج شنبه
(10)
(1)
جلسه اول - فریم ورک Collection در جاوا
جلسه اول - فریم ورک Collection در جاوا
به نام خدا
 
 
تقدیم به هموطنان عزیزم
 
 
 
جاوا را با لذت یاد بگیر!


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

Collections در جاوا

موضوع: فریم ورکCollection

جلسه: اول

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

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


Collections in Java

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

Collection ها در جاوا چارچوبی (framework) است که معماری را برای برای ذخیره و دستکاری گروهی از اشیا فراهم کرده است.

همه عملیاتی که شما بر روی داده ها مثل جست و جو، مرتب سازی، درج کردن، دستکاری، حذف کردن و غیره انجام می‌دهید، می‌تواند توسط Collection ها در جاوا انجام شود.

Collection ها به معنای ساده واحدی از اشیا هستند که برای ذخیره سازی و دستکاری داده ها استفاده می‌شوند و به سادگی می‌توانیم عملیات های مذکور رو روی آنها انجام دهیم و داده های آنها را دستکاری کنیم.

فریمورک(framework) Collection در جاوا از تعدادی اینترفیس ها (interfaces) و کلاس ها(classes) تشکیل شده است.
اینترفیس های Collection شامل موارد زیر می‌شود:

Set, List, Queue, Deque,…
کلاس های Collection نیز شامل موارد زیر می‌شود:
ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet ,…

Collection در جاوا چیست؟ Collection در جاوا نشان دهنده گروهی از اشیا است. به عبارت دیگر برای نگهداری، دستکاری و نمایش گروهی از اشیا استفاده می‌شود.

فریم ورک (framework) در جاوا چیست؟ یک فریم ورک جاوا شامل مجموعه ای از کتابخانه ها، کلاس ها و اینترفیس ها است.

Collection framework در جاوا چیست؟ Collection framework نشان دهنده یک معماری یکپارچه برای ذخیره و دستکاری گروهی از اشیا است، که شامل موارد زیر است:
1.    اینترفیس ها(Interfaces) و کلاس هایی که به این اینترفیس ها implements شده اند یا به عبارتی دیگر کلاس هایی که این اینترفیس ها در انها پیاده سازی شده است.
2.    الگوریتم (Algorithm) : الگوریتم به متدهای مفید و کاربردی که عملیات مرتب سازی، جست وجو و... را روی اشیا موجود در Collection ها انجام می‌دهند اشاره دارد.


سلسله مراتب فریم ورک Collection در جاوا
سلسله مراتب Collection در جاوا را در تصویر(1) جمع آوری کرده ایم. همان طور که در تصویر(1) مشاهده می‌کنید، فریم ورک Collection مجموعه ای از اینترفیس ها و کلاس هایی که این اینترفیس ها را implements کرده اند و همچنین کلاس هایی که برخی کلاس ها را به ارث برده یا extends کرده اند را شامل می‌شود. ما جلسه به جلسه اینترفیس ها و کلاس های موجود در فریم ورک Collection را با قدرت بررسی خواهیم کرد.



کلاس های موجود در فریم ورک collection
تصویر(1)



متدهای موجود در اینترفیس Collection :
متدهای زیادی در اینترفیس Collection وجود دارد که آنها را در زیر جمع آوری کرده ایم:

شمارهمتدتوضیح
1public boolean add(Object element)
   
برای درج یک عنصر در collection استفاده می‌شود.


2public boolean addAll(Collection c)اگر یک collection این متد را صدا بزند تمام عناصر موجود در collection (مجموعه) c در آن درج می‌شود.
3public boolean remove(Object element)برای حذف کردن یک عنصر از collection استفاده می‌شود.
4public boolean removeAll(Collection c)برای حذف همه عناصری از یک collection که در collection (مجموعه) c نیز وجود دارد استفاده می‌شود. به عبارت دیگر اگر یک collection این متد را صدا زد، عنصرهای موجود در آن collection که با collection (مجموعه) c شباهت دارد حذف می‌شود.
مثلا فرض کنید دو collection (مجموعه) به صورت زیر داریم:
a=["ali","sara"]
b=["ali","maryam"]
حال دستور زیر را داریم:
b.removeAll(a)

دستور بالا چکار میکنه؟ عناصری از مجموعه b که در مجموعه a موجود است حذف می‌کند. با دستور بالا عنصر "ali" از مجموعه b به دلیل این که در مجموعه a وجود دارد حذف می‌شود، و مقدار مجموعه b به صورت زیر خواهد بود:
b=["maryam"]
نکته: عناصر collection ای که این متد را صدا می‌زند حذف می‌شود.

5  public boolean retainAll(Collection c)این متد کاربردش عکس متد removeAll است.
این متد عناصری از یک collection که با collection (مجموعه) c شباهتی ندارد، حذف می‌کند.
مثلا فرض کنید دو collection (مجموعه) به صورت زیر داریم:
a=["ali","sara"]
b=["ali","maryam"]
حال دستور زیر را داریم:
b.retainAll(a);
دستور بالا چکار میکنه؟ عناصری از مجموعه b که با مجموعه a شباهتی ندارد حذف می‌کند. با دستور بالا عنصر "maryam" از مجموعه b به دلیل این که در مجموعه a وجود ندارد حذف می‌شود، و مقدار مجموعه b به صورت زیر خواهد بود:
b=["ali"]
نکته: عناصر collection ای که این متد را صدا می‌زند حذف می‌شود.

6public int size()این متد مجموع تعداد عناصر موجود در یک collection را برمی گرداند.
7public void clear()برای حذف کل عناصر موجود در یک collection استفاده می‌شود.
8public boolean contains(Object element)برای جست و جوی یک عنصر در collection مورد استفاده قرار می‌گیرد.
این متد چک می‌کند که آیا عنصر مورد نظر در collection وجود دارد یا خیر. اگر وجود داشت مقدار true و در غیر این صورت مقدار false برمی گرداند.

9public boolean containsAll(Collection c)چک می‌کند که آیا همه عناصر موجود در collection (مجموعه) c در collection که این متد را صدا زده است وجود دارد یا خیر. اگر وجود داشت مقدار true و در غیر این صورت مقدار false را برمی گرداند.
مثلا فرض کنید دو collection (مجموعه) به صورت زیر داریم:
a=["ali","sara"]
b=["ali","sara","maryam"]
حال دستور زیر را داریم:
b.containsAll(a);
دستور بالا چکار میکنه؟ چک میکنه که آیا همه عناصر موجود در مجموعه a در مجموعه b وجود دارد یا خیر؟ همان طور که مشاهده می‌کنید همه عناصر مجموعه a در مجموعه b نیز وجود دارد پس این متد مقدار true برمی گرداند.

10public Iterator iterator()یک iterator برمی گرداند. با استفاده از iterator برگردانده شده می‌توانیم یک collection را پیمایش کنیم.
اصلا نگران درک کاربرد این متدها نداشته باشید همه رو با مثال کدنویسی توضیح خواهیم داد.


11public Object[] toArray()برای تبدیل collection به آرایه استفاده می‌شود.
12public boolean isEmpty()خالی بودن یک collection را چک می‌کند. اگر collection خالی بود مقدار true و در غیر این صورت مقدار false را برمی گرداند.
13public boolean equals(Object element)برابری دو collection را بررسی می‌کند. اگر دو collection برابر بودند مقدار true و در غیر این صورت مقدار false را برمیگرداند.

نکته مهم: شرط برابری دو collection، علاوه بر شباهت همه عناصر باید ترتیب قرار گیری عناصر در هر دو collection نیز شبیه هم باشد.
مثلا فرض کنید دو collection (مجموعه) به صورت زیر داریم:
a=["ali","sara"]
b=["ali","sara]
دو مجموعه a و b برابر هستند.

اما:
c=["ali","sara"]
d=["sara","ali"]

دو مجموعه c و d برابر نیستند، چرا؟ با وجود شباهت عناصر هر دو collection، به دلیل این که ترتیب قرار گیری عناصر شبیه هم نیست، دو collection برابر نیستند.

14public int hashCode() hash codeمجموعه ای (collection) که این متد را صدا زده است را برمی گرداند.
 

این جلسه اول آموزش collection ها در جاوا است. ما کاربرد متدهای موجود در اینترفیس Collection را بررسی کردیم.در جلسات بعدی به صورت مثال کدنویسی، کاربرد هر کدام از متدهای موجود در جدول را بررسی می‌کنیم.پس اصلا نگران درک کاربرد این متدها نباشید.


اینترفیس(interface) Iterator
اینترفیس(interface) Iterator امکانات پیمایش عناصر collection ها را فقط در جهت رو به جلو فراهم کرده است.
همان طور که برای پیمایش عناصر موجود در یک آرایه از یک حلقه for استفاده می‌کردیم برای پیمایش عناصر collection ها از امکاناتی که اینترفیس Iterator برای ما فراهم کرده، استفاده می‌کنیم. کاربرد این متد را در آموزش های بعدی خواهید دید.


یکی از راه های پیمایش collection ها، استفاده از امکانات اینترفیس Iterator است. نکته 




متدهای اینترفیس (interface) Iterator
تنها سه متد در اینترفیس Iterator وجود دارد که در جدول زیر جمع آوری کرده ایم:
شمارهمتدتوضیج
1public boolean hasNext()اگر بعد از عنصر فعلی، عنصری وجود داشت مقدار true برمی گرداند، در غیر این صورت مقدار false برمی گرداند.
2public Object next()عنصر بعدی رو برمی گرداند.
اگر عنصر بعدی وجود نداشت استثنای NoSuchElementException رخ می‌دهد.

3public void remove()آخرین عنصر را حذف می‌کند.به ندرت از این متد استفاده می‌شود.
 

هدف از این جلسه آموزشی آشنایی اولیه با collection ها در جاوا است، ما در این جلسه آموزشی از مثال کدنویسی استفاده نکردیم، خب ممکنه سوالات و ابهاماتی در مورد کاربرد مفاهیمی که توضیح دادیم وجود داشته باشد. اصلا نگران نباشید چرا که در جلسات آینده گام به گام اینترفیس ها و کلاس های موجود در فریم ورک collection جاوا را بررسی خواهیم کرد، و کاربرد همه این مفاهیم توضیح داده شده در قالب مثال مرور خواهد شد.

سعی ما تهیه بهترین و با کیفیت ترین جلسات آموزشی هست....


پیروز و موفق باشید


ما ابتدا آموزش ها را در کانال تلگرام جاوالایک آپلود می‌کنیم و بعد در سایت ارسال می‌کنیم.


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


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

کتاب رایگان اموزش جاوا
لینک دانلود

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

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

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