ملیکا مرادی
ملیکا مرادی
خواندن ۲ دقیقه·۷ ماه پیش

Collection ها در جاوا

Collection ها در جاوا مجموعه‌ای از عناصر همانند آرایه‌ها هستند، اما با تفاوتی که اندازه و نوع عناصر در آنها قابل تغییر است. این به این معنی است که می‌توانید عناصر را add، delete و edit کنید. Collection ها از یک Interface به نام Collection ارث‌بری می‌کنند، که تعدادی متد را برای مدیریت بهتر عناصر در اختیار قرار می‌دهد.

Collection در جاوا یک framework است. فریمورک در جاوا مجموعه‌ای از کلاس‌ها، اینترفیس‌ها و … هستن که به منظور خاصی برنامه‌نویسی شده‌اند. Collection framework نشان دهنده یک سری دستورات و متدهای یکپارچه برای ذخیره و دستکاری گروهی از اشیا می باشد.

در کل Collection ها در جاوا به دو دسته تقسیم می‌شوند:

1. مجموعه‌های مرتب شده (Ordered Collections):

  • List: مجموعه‌ای از عناصر مرتب شده و قابل تکرار است. یعنی عناصر با توجه به ترتیب وارد شدن در مجموعه قرار دارند. برای مثال، ArrayList و LinkedList از این نوع هستند.


2. مجموعه‌های نامرتب (Unordered Collections):

  • Set: این مجموعه عناصر را به صورت بدون ترتیب ذخیره می‌کند و هر عنصر در آن تنها یکبار قابل ذخیره است. برای مثال، HashSet و TreeSet از این نوع هستند. (بهترین نوع برای جلوگیری از عنصر تکراری)
نکته خودمونی: در HashSet عناصر ابتدا تبدیل به hash code و سپس ذخیره میکند و اگر عضو تکراری وارد شود چون hashcode آنها برار خواهد بود در جای قبلی ذخیره کرده و مقدار تکراری ذخیره نمیکند.


  • Queue: این مجموعه عناصر را به صورت یک صف (FIFO) ذخیره می‌کند. عناصر به ترتیب وارد شدن در صف قرار می‌گیرند و برای حذف عناصر از ابتدای صف از متد remove() استفاده می‌شود. برای مثال، LinkedList از این نوع است.
نکته خودمونی: FIFO یعنی First In, First Out.


  • Deque: این مجموعه عناصر را به صورت یک صف دوطرفه (Double-ended queue) ذخیره می‌کند. عناصر به ترتیب وارد شدن در صف قرار می‌گیرند و می‌توان عناصر را از ابتدا و انتهای صف حذف کرد. برای مثال، ArrayDeque از این نوع است. به علاوه، Collection ها می‌توانند از ویژگی‌های دیگری مانند search، sort، iteration(تکرار) و محدودیت اندازه (به صورت ثابت یا متغیر) پشتیبانی کنند.


نکته خودمونی: Map یک رابط (Interface) در جاوا است و یک زیرمجموعه از رابط Collection نیست. اگرچه Collection یک interface برای نگهداری و مدیریت مجموعه‌ عناصر است، اما Map به عنوان یک interface جداگانه برای نگهداری و مدیریت جفت‌های key-value استفاده می‌شود. این رابط دسترسی به عناصر بر اساس کلید را فراهم می‌کند که یک ویژگی منحصر به فرد برای Map است.
listsetqueue
من ملیکام :) برنامه نویس back-end java هستم. برای ارتباط بیشتر میتونید بهم ایمیل بدید :) melika.moradi.deh@gmail.com
شاید از این پست‌ها خوشتان بیاید