در کار با مجموعه ها، توسعه دهندگان باید با برخی از اصطلاحات خاص مرتبط با مجموعه آشنا باشند و آن ها را درک کنند.
قابل تغییر در مقابل غیرقابل تغییر: همانطور که این عبارات در ظاهر آنها نشان می دهد، مجموعه های مختلف ممکن است از عملیات اصلاح پشتیبانی کنند یا نکنند.
پایدار در مقابل ناپایدار: مجموعه های باثبات پس از ایجاد قابل تغییر نیستند. در حالی که موقعیتهایی وجود دارد که مجموعههای ناپایدار ممکن است به دلیل دسترسی توسط کدهای دیگر تغییر کنند، مجموعههای پایدار از چنین تغییراتی جلوگیری میکنند. مجموعههایی که میتوانند تضمین کنند که هیچ تغییری با اشیاء مجموعه قابل مشاهده نیست، پایدار هستند، مجموعههای پایدار مجموعههایی هستند که اجازه عملیات اصلاحی مانند «افزودن» یا «پاک کردن» را نمیدهند.
اندازه ثابت در مقابل اندازه متغیر: این عبارات فقط به اندازه مجموعه اشاره دارند و هیچ نشانه ای از قابل تغییر یا تغییر بودن مجموعه ندارند.
دسترسی تصادفی در مقابل دسترسی متوالی: اگر مجموعهای اجازه فهرستبندی عناصر جداگانه را بدهد، دسترسی تصادفی است. در مجموعههای دسترسی متوالی، برای رسیدن به یک عنصر معین، باید در تمام عناصر قبلی پیشرفت کنید. گسترش مجموعههای دسترسی متوالی میتواند آسانتر باشد، اما جستجو به زمان بیشتری نیاز دارد.
رابط مجموعه ها شامل چندین مؤلفه مختلف است، از جمله:
دسترسی تصادفی در مقابل دسترسی متوالی: اگر مجموعهای اجازه فهرستبندی عناصر جداگانه را بدهد، دسترسی تصادفی است. در مجموعههای دسترسی متوالی، برای رسیدن به یک عنصر معین، باید در تمام عناصر قبلی پیشرفت کنید. گسترش مجموعههای دسترسی متوالی میتواند آسانتر باشد، اما جستجو به زمان بیشتری نیاز دارد.
رابط مجموعه ها شامل چندین مؤلفه مختلف است، از جمله:
+ رابط های مشترک: نمایش انواع مجموعه های اولیه، از جمله مجموعه ها، لیست ها و نقشه ها
+ پیادهسازیها: پیادهسازیهای خاص رابطهای مجموعه، از همهمنظوره تا هدف ویژه تا انتزاعی. علاوه بر این، پیادهسازیهای قدیمی مربوط به آرایههای قدیمیتر، وکتورها و کلاسهای hashtable وجود دارد.
+ الگوریتم ها: روش های ایستا برای دستکاری مجموعه ها
+ زیرساخت: پشتیبانی اساسی برای رابط های مجموعه های مختلف
روش های کار با مجموعه های جاوا
هر رابط در JCF، از جمله java.util.collection، روشهای خاصی برای دسترسی و دستکاری عناصر مجزای مجموعه دارد. از متداولترین روشهای مورد استفاده در مجموعهها میتوان به موارد زیر اشاره کرد:
()Size: تعداد عناصر یک مجموعه را برمی گرداند.
add (Collection element) / remove (Collection object): همانطور که پیشنهاد می شود، این روش ها محتویات یک مجموعه را تغییر می دهند. توجه داشته باشید که در صورتی که یک مجموعه دارای موارد تکراری است، حذف تنها بر یک نمونه واحد از عنصر تأثیر می گذارد.
(Collection object)Equals: یک شی را برای هم ارزی با یک مجموعه مقایسه می کند.
() clear: هر عنصر را از یک مجموعه حذف می کند.
هر زیرمجموعه ممکن است متدهای اضافی نیز داشته باشد. به عنوان مثال، اگرچه رابط Set فقط شامل متدهای واسط مجموعه است، رابط List دارای روش های اضافی بسیاری بر اساس دسترسی به عناصر لیست خاص است، از جمله:
get (int index): عنصر لیست را از محل فهرست مشخص شده برمی گرداند.
set (int index, element): محتویات عنصر لیست را در محل فهرست مشخص شده تنظیم می کند.
remove (int,index): عنصر را در محل فهرست مشخص شده حذف می کند.
+ پیادهسازیها: پیادهسازیهای خاص رابطهای مجموعه، از همهمنظوره تا هدف ویژه تا انتزاعی. علاوه بر این، پیادهسازیهای قدیمی مربوط به آرایههای قدیمیتر، وکتورها و کلاسهای hashtable وجود دارد.
+ الگوریتم ها: روش های ایستا برای دستکاری مجموعه ها
+ زیرساخت: پشتیبانی اساسی برای رابط های مجموعه های مختلف
روش های کار با مجموعه های جاوا
هر رابط در JCF، از جمله java.util.collection، روشهای خاصی برای دسترسی و دستکاری عناصر مجزای مجموعه دارد. از متداولترین روشهای مورد استفاده در مجموعهها میتوان به موارد زیر اشاره کرد:
()Size: تعداد عناصر یک مجموعه را برمی گرداند.
add (Collection element) / remove (Collection object): همانطور که پیشنهاد می شود، این روش ها محتویات یک مجموعه را تغییر می دهند. توجه داشته باشید که در صورتی که یک مجموعه دارای موارد تکراری است، حذف تنها بر یک نمونه واحد از عنصر تأثیر می گذارد.
(Collection object)Equals: یک شی را برای هم ارزی با یک مجموعه مقایسه می کند.
() clear: هر عنصر را از یک مجموعه حذف می کند.
هر زیرمجموعه ممکن است متدهای اضافی نیز داشته باشد. به عنوان مثال، اگرچه رابط Set فقط شامل متدهای واسط مجموعه است، رابط List دارای روش های اضافی بسیاری بر اساس دسترسی به عناصر لیست خاص است، از جمله:
get (int index): عنصر لیست را از محل فهرست مشخص شده برمی گرداند.
set (int index, element): محتویات عنصر لیست را در محل فهرست مشخص شده تنظیم می کند.
remove (int,index): عنصر را در محل فهرست مشخص شده حذف می کند.
پردازش مجموعه های بزرگ در جاوا می تواند دست و پا گیر باشد. در حالی که Streams کار با مجموعههای بزرگ و عملیات کدگذاری را در مجموعههای بزرگ ساده کرد، اما همیشه تضمینی برای بهبود عملکرد نبود. در واقع، برنامه نویسان اغلب دریافتند که استفاده از Streams در واقع پردازش را کند می کند. پردازش موازی، یعنی شکستن وظیفه پردازش به قطعات کوچکتر و اجرای همزمان آنها، یکی از راههای کاهش هزینه پردازش در هنگام برخورد با مجموعههای بزرگ است. اما حتی پردازش جریان موازی می تواند منجر به کاهش عملکرد شود، حتی اگر کدنویسی ساده تر باشد. در اصل، سربار مربوط به مدیریت رشته های متعدد می تواند مزایای اجرای موازی موضوعات را جبران کند. توسعه دهندگان جاوا باید بدانند که چگونه از ویژگی های داخلی مانند مجموعه ها برای بهینه سازی پردازش داده ها و عملکرد استفاده کنند. مجموعه های جاوا و جریان های جاوا دو ابزار اساسی برای بهبود عملکرد برنامه هستند. توسعه دهندگان باید در نظر بگیرند که چگونه رویکردهای مختلف پردازش جریان موازی می توانند بر عملکرد برنامه تأثیر بگذارند. استفاده از استراتژی پردازش جریان موازی مناسب برای مجموعه ها می تواند تفاوت بین افزایش پذیرش و از دست دادن مشتریان باشد.
بیشتر بدانید: https://shorturl.gg/zZs