جستجو
۱۳۹۶/۹/۲ پنج شنبه
(3)
(0)
جلسه اول - فریم ورک 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 و با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا
عضو کانال تلگرام ما شوید.
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

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

0 نظر
طراحی شده توسط شرکت طراحی سایت و سایت ساز آنلاین یوتاب - فروشگاه ساز اینترنتیطراحی شده توسط شرکت طراحی سایت و سایت ساز آنلاین یوتاب - فروشگاه ساز اینترنتی