مجموعه
| آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
|---|---|---|---|---|
| 27 آگوست 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
اعلام وابستگی ها
برای افزودن وابستگی به مجموعه، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { def collection_version = "1.5.0" implementation "androidx.collection:collection:$collection_version" }
کاتلین
dependencies { val collection_version = "1.5.0" implementation("androidx.collection:collection:$collection_version") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت مراجعه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.6
نسخه 1.6.0-alpha01
27 آگوست 2025
androidx.collection:collection-*:1.6.0-alpha01 منتشر شد. نسخه 1.6.0-alpha01 حاوی این تعهدات است.
تغییرات API
- پروژههای منتشر شده با Kotlin 2.0 برای مصرف نیاز به KGP 2.0.0 یا جدیدتر دارند ( Idb6b5 )
رفع اشکال
- قبلاً
SparseArrayCompatزمانی که شاخصی را که در محدوده تخصیص داده شده بود، اما خارج از محدوده درج شده0..size -1ارسال می کرد،nullبرای valueAt وkeyAtبرمی گرداند. همانطور که مستند شده است، این رفتار هرگز انتظار نمی رفت و خارج از محدوده ورودی معتبر بود و این تغییر این رفتار را اصلاح می کند تا در عوض وقتی یک شاخص نامعتبر تصویب شود،IndexOutOfBoundsایجاد شود. ( I68453 )
مشارکت خارجی
با تشکر از جیک وارتون برای مشارکت های زیر:
- رفتار
joinToStringبا مجموعههای پلتفرم با افزودن یک جداکننده قبل و پسوند بعد از نشانگر برش در هنگام محدود کردن عناصر موجود، تراز کنید. ( I1b7e8 ) -
ScatterSet.hashCodeدیگر در برابر بازگشت (یعنی مجموعه به خودش اضافه می شود) دفاع نمی کند. این رفتار آن را باScatterMap،HashSetو مجموعههای مبتنی بر پراکندگی اولیه (مانندLongSet) مطابقت میدهد. توجه داشته باشید که متدequalsقبلاً مستعد بازگشت بود وtoStringدر برابر آن دفاع میکرد - هر دو رفتاری که با مجموعههای دیگر همسو هستند. ( I9c84a ) - تابع
ScatterSet.retainAllاکنون برای جلوگیری از ایجاد یک نمونه لامبدا در خط است. ( Ifa4b7 ) -
ScatterSet.hashCodeدیگر از ظرفیت خود در محاسبه هش استفاده نمی کند و از محتویات مساوی اطمینان می دهد، اما ظرفیت های مختلف همچنان مقدار یکسانی را تولید می کنند. ( IC863b ) - اگر شما
remove()قبل ازnext()روی تکرارکنندهkeys،valuesیا مجموعهentriesهایScatterMap.asMap()یاScatterSet.asSet()فراخوانی کنید، اکنونIllegalStateExceptionپرتاب می شود. این رفتار آن را با نقشه معمولی و رفتار مجموعه هماهنگ می کند. ( I71694 )
نسخه 1.5
نسخه 1.5.0
12 مارس 2025
androidx.collection:collection-*:1.5.0 منتشر شد. نسخه 1.5.0 شامل این commit ها است.
نسخه 1.5.0-rc01
26 فوریه 2025
androidx.collection:collection-*:1.5.0-rc01 منتشر شد. نسخه 1.5.0-rc01 حاوی این commit ها است.
نسخه 1.5.0-beta03
29 ژانویه 2025
androidx.collection:collection-*:1.5.0-beta03 منتشر شد. نسخه 1.5.0-beta03 حاوی این تعهدات است.
نسخه 1.5.0-beta02
15 ژانویه 2025
androidx.collection:collection-*:1.5.0-beta02 منتشر شد. نسخه 1.5.0-beta02 حاوی این تعهدات است.
نسخه 1.5.0-beta01
11 دسامبر 2024
androidx.collection:collection-*:1.5.0-beta01 منتشر شد. نسخه 1.5.0-beta01 حاوی این تعهدات است.
تغییرات API
- پشتیبانی از
watchosDeviceArm64KMP target و target kotlin 1.9 ( Icf15d , b/364652024 ) را اضافه می کند.
نسخه 1.5.0-alpha06
13 نوامبر 2024
androidx.collection:collection-*:1.5.0-alpha06 منتشر شد. نسخه 1.5.0-alpha06 حاوی این commit ها است.
رفع اشکال
- مشکلی را که میتوانست در
SieveCacheوOrderedScatterSetهنگام اضافه کردن موارد متعدد که باعث برخورد مکرر کلید میشوند، رخ دهد، برطرف کرد. ( Iaaf3d , b/375607736 ) - هدف Wasm را به کتابخانه مجموعه اضافه کنید. ( I66fe3 , b/352722444 )
نسخه 1.5.0-alpha05
30 اکتبر 2024
androidx.collection:collection-*:1.5.0-alpha05 منتشر شد. نسخه 1.5.0-alpha05 حاوی این commit ها است.
نسخه 1.5.0-alpha04
16 اکتبر 2024
androidx.collection:collection-*:1.5.0-alpha04 منتشر شد. نسخه 1.5.0-alpha04 حاوی این تعهدات است.
نسخه 1.5.0-alpha03
2 اکتبر 2024
androidx.collection:collection-*:1.5.0-alpha03 منتشر شد. نسخه 1.5.0-alpha03 حاوی این commit ها است.
تغییرات API
- به روز رسانی نسخه کاتلین به 1.9 ( I1a14c )
مشارکت خارجی
- فوروارد
containsبهcontainsKeyاست. با تشکر جیک وارتون! ( I9362b ) - کانتینر سازها را برای مجموعه های تخصصی اسکالر اضافه کنید. با تشکر جیک وارتون! ( I13179 )
نسخه 1.5.0-alpha02
18 سپتامبر 2024
androidx.collection:collection-*:1.5.0-alpha02 منتشر شد. نسخه 1.5.0-alpha02 حاوی این تعهدات است.
تغییرات API
- پشتیبانی از هدف پلتفرم
watchosDeviceArm64را اضافه می کند. ( I1cc04 , b/364652024 )
نسخه 1.5.0-alpha01
4 سپتامبر 2024
androidx.collection:collection-*:1.5.0-alpha01 منتشر شد. نسخه 1.5.0-alpha01 حاوی این تعهدات است.
تغییرات API
-
OrderedScatterSetیک مجموعه جدید سفارش داده شده و بدون تخصیص است ( Ic4178 ) -
SieveCacheیک جایگزین جدید بدون تخصیص برایLruCacheاست که ویژگی های نسبت ضربه بهتری را ارائه می دهد. ( I50a17 ) - نمایش داخلی
packedValueبرایIntIntPairوFloatFloatPairنمایش داده شد. ( Ifeb75 , b/331853566 ) - افزودن دسترسی به آرایه محتوا در مجموعه های لیست. ( I899d5 , b/333903173 )
-
DoubleListاضافه کنید، یک ساختار داده مانند لیست که برای مقادیر Double بهینه شده است. ( Ia10d1 , b/315127635 )
رفع اشکال
- کتابخانه مجموعهها به سمت هدف Kotlin 1.9 حرکت میکند ( I0782f )
- بسیاری از مجموعه ها را برای کارآمدتر بودن بهینه کنید. ( IC0566 )
نسخه 1.4
نسخه 1.4.5
30 اکتبر 2024
androidx.collection:collection-*:1.4.5 منتشر شد. نسخه 1.4.5 حاوی این commit ها است.
نسخه 1.4.4
18 سپتامبر 2024
androidx.collection:collection-*:1.4.4 منتشر شد. نسخه 1.4.4 حاوی این commit ها است.
رفع اشکال
- راه حل
ArrayIndexOutOfBoundsهنگام مرتب سازی یک مجموعه خالی. ( I65245 )
نسخه 1.4.3
7 آگوست 2024
androidx.collection:collection-*:1.4.3 منتشر شد. نسخه 1.4.3 شامل این commit ها است.
رفع اشکال
- یک خرابی را که میتوانست در
ScatterMap،ScatterSetو انواع ابتدایی آنها رخ دهد، برطرف کرد. ( I38a4a , b/352560465 ) - بهینه سازی عملکرد به طور خاص:
- فراخوانهای
check()وrequired()را با انواعی جایگزین کنید که پرتابهای استثنایی درون خطی ندارند. این باعث کاهش اندازه باینری نهایی می شود و مهمتر از آن فشار i-cache را کمی کاهش می دهد. - بهبود
removeDeletedMarkers()در خانواده مجموعه های "scatter". نسخه جدید نشانگرهای حذف شده را هر بار 8 نشانگر پاک می کند و از نوشتن گران تر در این فرآیند صرف نظر می کند. ( IC0566 )
- فراخوانهای
نسخه 1.4.2
24 جولای 2024
androidx.collection:collection-*:1.4.2 منتشر شد. نسخه 1.4.2 حاوی این commit ها است.
ویژگی های جدید
- شامل اهداف چند پلتفرمی اضافی Kotlin:
watchos،tvos،linuxArm64. ( b/352543988 )
نسخه 1.4.1
10 جولای 2024
androidx.collection:collection-*:1.4.1 منتشر شد. نسخه 1.4.1 شامل این commit ها است.
رفع اشکال
- هنگام تغییر اندازه، سنگ قبرهای حذف شده را از Map/Set حذف کنید. ( 7a996c5 , b/345960092 )
نسخه 1.4.0
24 ژانویه 2024
androidx.collection:collection-*:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این commit ها است.
تغییرات مهم از 1.3.0
مجموعه های جدید با کارایی بالا برای ذخیره سازی اولیه بدون بوکس اضافه شده است:
-
MutableScatterMap&ScatterMap- کلاس هایی باMutableMapو API شبیه نقشه -
MutableScatterSet&ScatterSet- کلاس هایی با APIMutableSetو Set مانند -
MutableObjectList&ObjectList- کلاس هایی باMutableListو API مانند List
به عنوان مثال، یک نقشه با یک کلید عدد صحیح و یک مقدار مرجع، یک IntObjectMap<T> است. نقشه ای با کلید طولانی و مقدار شناور LongFloatMap است. نسخه ای با نام ObjectObjectMap وجود ندارد زیرا توسط ScatterMap/MutableScatterMap پوشش داده شده است.
نسخه 1.4.0-rc01
10 ژانویه 2024
androidx.collection:collection-*:1.4.0-rc01 بدون هیچ تغییری منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.
نسخه 1.4.0-beta02
29 نوامبر 2023
androidx.collection:collection-*:1.4.0-beta02 منتشر شد. نسخه 1.4.0-beta02 حاوی این تعهدات است.
ویژگی های جدید
- عملکرد بهبود یافته
FloatFloatPair. ( If5537 )
رفع اشکال
- تکرارکننده
ScatterMap.asMap()اکنون نمونههای جدید را برمیگرداند ( I28932 , b/310365754 )
نسخه 1.4.0-beta01
15 نوامبر 2023
androidx.collection:collection-*:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 حاوی این تعهدات است.
رفع اشکال
- برای
ListIteratorمقادیر نادرست را درObjectListتنظیم کنید که ممکن است به دلیلIndexOutOfBoundsExceptionمنجر به خرابی شود. ( I3bd8a , b/307049391 )
نسخه 1.4.0-alpha02
18 اکتبر 2023
androidx.collection:collection-*:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 حاوی این commit ها است.
تغییرات API
- اضافه بار برای
putاضافه شده است که وقتی به همه مجموعههای ابتدایی جایگزین میشود، مقدار قبلی را برمیگرداند، مانندFloatFloatMap. - متدهای
removeIfدر مجموعه های اولیه مانندMutableFloatFloatMapبه درون خطی تبدیل کنید. این تضمین می کند که لامبدا برایremoveIfتخصیص داده نمی شود.
نسخه 1.4.0-alpha01
4 اکتبر 2023
androidx.collection:collection-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
مجموعههای جدید با راندمان بالا اضافه شدهاند که سربار تخصیص پایین و عملکرد بالایی دارند:
-
MutableScatterMap&ScatterMap- کلاس هایی باMutableMapو API شبیه نقشه -
MutableScatterSet&ScatterSet- کلاس هایی با APIMutableSetو Set مانند -
MutableObjectList&ObjectList- کلاس هایی باMutableListو API مانند List
مجموعه های جدید با کارایی بالا برای ذخیره سازی اولیه بدون بوکس اضافه شده است:
-
Mutable[Int|Float|Long]List- کلاسهایی باMutableList<Int|Float|Long>-مانند API.[Int|Float|Long]Listفقط خواندنی نیز وجود دارد. به عنوان مثال، اعداد صحیح را می توان درIntListنگه داشت. -
Mutable[Int|Float|Long]Set- کلاسهایی باMutableSet<Int|Float|Long>-مانند API.[Int|Float|Long]Setفقط خواندنی نیز وجود دارد. به عنوان مثال، اعداد صحیح را می توان در یک IntSet نگه داشت. -
Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map- کلاسهایی با API شبیه بهMutable<Int|Float|Long,T, Int|Float|Long|T>.[Int|Float|Long|Object][Int|Float|Long|Object]Mapفقط خواندنی نیز وجود دارد. به عنوان مثال، یک نقشه با یک کلید عدد صحیح و یک مقدار مرجع، یکIntObjectMap<T>است. نقشه ای با کلید طولانی و مقدار شناورLongFloatMapاست. نسخه ای با نامObjectObjectMapوجود ندارد زیرا توسطScatterMap/MutableScatterMapپوشش داده شده است.
نسخه 1.3.0
نسخه 1.3.0
4 اکتبر 2023
androidx.collection:collection-*:1.3.0 منتشر شد. نسخه 1.3.0 حاوی این commit ها است.
تغییرات مهم از 1.2.0
- اکنون می توانید از مجموعه ها در پروژه های چند پلتفرمی Kotlin استفاده کنید. توجه داشته باشید که اهداف غیر اندرویدی مجموعهها هنوز آزمایشی هستند، اما ما تصمیم گرفتیم نسخهها را ادغام کنیم تا توسعهدهندگان بتوانند آنها را راحتتر امتحان کنند.
- همه منبع به کاتلین منتقل شده است. به عنوان بخشی از این تغییر، بسیاری از APIها اکنون به درستی برای باطل تایپ می شوند و تعداد کمی از اعضای خصوصی بسته
internalشده اند. فهرستی از تغییرات دقیق در یادداشتهای انتشار جزئی 1.3.x در زیر موجود است. - همراه با مهاجرت Kotlin،
collection-ktxبا مصنوع مجموعه اصلی ادغام شده است. شما می توانید با خیال راحت هر گونه وابستگی بهcollection:collection-ktxبه نفعcollection:collectionرها کنید زیراcollection-ktxاکنون خالی است.
نسخه 1.3.0-rc01
6 سپتامبر 2023
androidx.collection:collection-*:1.3.0-rc01 بدون هیچ تغییری منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.
نسخه 1.3.0-beta01
9 آگوست 2023
androidx.collection:collection-*:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.
نسخه 1.3.0-alpha04
24 مارس 2023
androidx.collection:collection-*:1.3.0-alpha04 منتشر شد.
رفع اشکال
- محدودیتهای وابستگی را از مصنوعات Maven حذف کرد تا مشکل ساخت را در Kotlin Native Targets حل کند ( b/274786186 ، KT-57531 ).
نسخه 1.3.0-alpha03
22 مارس 2023
androidx.collection:collection-*:1.3.0-alpha03 منتشر شد. نسخه 1.3.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
- اکنون می توانید از مجموعه ها در پروژه های KMM استفاده کنید. توجه داشته باشید که اهداف غیر اندرویدی مجموعهها هنوز آزمایشی هستند، اما ما تصمیم گرفتیم نسخهها را ادغام کنیم تا توسعهدهندگان بتوانند آنها را راحتتر امتحان کنند.
تغییرات API
-
ArraySetاکنونMutableCollectionsبه جایAbstractMutableCollectionپیاده سازی می کند تا امکان اجرای کارآمدتر حافظهtoArrayرا فراهم کند ( I1ac32 )
رفع اشکال
-
ArraySet.toArrayاکنون فقط در JVM در دسترس است زیرا همیشه فقط برای سازگاری با جاوا گنجانده شده است. کاربران Kotlin معمولاً باید به جای آن از کمک کننده های.toTypedArraystdlib استفاده کنند که دقیقاً همان عملکرد را با ایمنی نوع اضافه شده ارائه می دهد. ( I2c59b )
نسخه 1.3.0-alpha02
27 جولای 2022
androidx.collection:collection:1.3.0-alpha02 و androidx.collection:collection-ktx:1.3.0-alpha02 منتشر شدند. نسخه 1.3.0-alpha02 حاوی این commit ها است.
تغییرات API
-
SparseArrayCompatاکنون برای پلتفرمهای غیرjvm از مصنوعات رایج در دسترس است ( Ic9bd0 ، b/219589118 ، b/228347315 ) -
CircularIntArrayاکنون برای پلتفرمهای غیرjvm از آرتیفکت رایج در دسترس است ( I3d8ef , b/228344943 ) -
LongSparseArrayاکنون برای پلتفرمهای غیرjvm از مصنوعات رایج در دسترس است ( I73149 , b/228347315 )
نسخه 1.3.0-alpha01
29 ژوئن 2022
androidx.collection:collection:1.3.0-alpha01 و androidx.collection:collection-ktx:1.3.0-alpha01 منتشر شدند. نسخه 1.3.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- پسوندهای
collection-ktxبه آرتیفکت مجموعههای اصلی،androidx.collection:collectionمنتقل شدهاند. این تغییر باعث میشود که پسوندهای -ktx از قبل موجود برای کاربران Kotlin بدون نیاز به وابستگی -ktx قابل دسترسی باشند، در حالی که همچنان سازگاری را برای کاربران موجود حفظ میکند. از آنجایی که مصنوع اصلی به Kotlin منتقل شده است، نگهداری این افزونه ها در یک آرتیفکت -ktx جداگانه دیگر مفید نیست. ( I6eef2 )
تغییرات API
-
ArraySetاکنونAbstractMutableCollectionرا گسترش می دهد و دیگر مستقیماً رابط Collection را پیاده سازی نمی کند. ( If6da0 , b/230860589 ) -
ArraySetبه Kotlin تبدیل شد. به دلیل تایپ دقیق تر، برخی از فراخوان های Kotlin ممکن است دیگر کامپایل نشوند. ( Id68c1 , b/230860589 )- فراخوانی های زیر دارای آرگومان نوع
Tهستند، نهT?:-
ArraySet<T>.contains(null) -
ArraySet<T>.add(null) -
ArraySet<T>.remove(null)
-
- تماس های زیر دارای نوع برگشتی
T?، نهT!:-
ArraySet<T?>.valueAt(n) -
ArraySet<T?>.removeAt(n) -
ArraySet<T?>().iterator().next()
-
- تماسهای زیر دیگر از کاتلین امکانپذیر نیست:
-
set.toArray()- ازset.toTypedArray()استفاده کنید -
set.toArray(array)- استفاده ازset.forEachIndexed(array::set)
-
- فراخوانی های زیر دارای آرگومان نوع
- سازنده سربارگذاری شده را برای
SparseArrayCompatبه عنوان یک آرگومان اختیاری برای کاربران Kotlin ترکیب کنید. ( If8407 , b/227474719 ) - دستور عملگر را برای
SparseArrayCompat.get(key, defaultValue).توجه داشته باشید که این همچنان به نحو عملگر برای.get(key)اجازه می دهد، اما سطح APISparseArrayCompatرا با کلاس های دیگر در این کتابخانه بهتر تراز می کند. ( I9a38d ) - پسوندهای
LongSparseArrayرا به مصنوع اصلی، androidx.collection:collection منتقل کنید. این تغییر باعث میشود که پسوندهای -ktx از قبل موجود برای کاربران Kotlin بدون نیاز به وابستگی -ktx قابل دسترسی باشند، در حالی که همچنان سازگاری را برای کاربران موجود حفظ میکند. از آنجایی که مصنوع اصلی به Kotlin منتقل شده است، نگهداری این افزونه ها در یک آرتیفکت -ktx جداگانه دیگر مفید نیست. ( I8659a ) -
LongSparseArrayرا به Kotlin تبدیل کنید. این تغییر به انواع آن بی اعتباری صریح اضافه می کند، که یک تغییر سازگار باینری است، اما ممکن است باعث ناسازگاری منبع شود. به طور خاص: *.isEmptyدیگر به عنوان یک ویژگی قابل دسترسی نیست، باید به عنوان یک تابع در Kotlin -.isEmpty()( Idfd0f ) قابل دسترسی باشد. -
SimpleArrayMapرا به Kotlin تبدیل کنید. این تغییر باعث ایجاد چند تغییر ناسازگار می شود که در نتیجه تعامل جاوا-کاتلین و توانایی تعریف صحیح بی اعتباری انواع در منبع است.- بستههای API خصوصی،
.mSize،.mArray،.mHashes،.indexOfNull().indexOfValue().indexOf()، . قابلیت مشاهده بسته-خصوصی - باطل بودن برخی از انواع اکنون به درستی تعریف شده است، روش های تحت تأثیر عبارتند از:
.getOrDefault،.keyAt،.valueAt،.setValueAt،.put،.putIfAbsent،.removeAt،.replace. - برای کاربران Kotlin،
.isEmpty()اکنون فقط به عنوان یک تابع به جای دسترسی به ویژگی در دسترس است. ( I271b7 , b/182813986 )
- بستههای API خصوصی،
CircularArrayبه Kotlin تبدیل کنید. تغییرات قابل توجه:- باطل بودن ژنریک های خود را به صورت غیر تهی تصحیح می کند، که قبلاً اعلام آن غیرممکن بود، اما در همه API های عمومی آن اعمال می شد.
- با توجه به interop جاوای Kotlin، قبلاً امکان دسترسی به برخی روش ها به عنوان ویژگی یا توابع وجود داشت. با این حال، برای کاهش تکرار و حفظ سازگاری باینری، لازم بود این موارد حذف شوند، که یک تغییر ناسازگار با منبع است. فراخوانیهای تحت تأثیر عبارتند از:
.isEmpty،.getLast()و.getFirst(). ( ایفک )
CircularIntArrayرا به Kotlin تبدیل کنید. با توجه به interop جاوای Kotlin، قبلاً امکان دسترسی به برخی روش ها به عنوان ویژگی یا توابع وجود داشت. با این حال، برای کاهش تکرار و حفظ سازگاری باینری، لازم بود این موارد حذف شوند، که یک تغییر ناسازگار با منبع است. تماس های تحت تأثیر عبارتند از:.isEmpty،.getLast()و.getFirst(). ( Ie36ce )تبدیل
LruCacheبه Kotlin ( Ia2f19 )SparseArrayCompatرا به Kotlin تبدیل کنید. ( If6fe8 )یک تغییر رفتار کوچک به
SparseArrayCompat.valueAt()اضافه می شود، که دیگر به اشتباهnullبرای فراخوانی های اولیه خارج از محدودهsize()اما در ظرفیت اولیه ارائه شده به اشتباه برمی گرداند.این تغییر همچنین بی اعتباری صحیح را برای برخی از انواع که قبلاً وجود نداشت، معرفی می کند.
-
.get(): E?->.get(): E -
.replace(Int, Int?): Int?->.replace(Int, Int): Int? -
.replace(Int, Int?, Int?): Boolean->.replace(Int, Int, Int): Boolean -
.put(Int, Int?)->.put(Int, Int) -
.putIfAbsent(Int, Int?): Int?->.putIfAbsent(Int, Int): Int? -
.setValueAt(index: Int, value: Int?)->.setValueAt(index: Int, value: Int) -
.indexOfValue(value: Int?): Int->.indexOfValue(value: Int): Int -
.containsValue(value: Int?): Boolean->.containsValue(value: Int): Boolean -
.append(key: Int, value: Int?)->.append(key: Int, value: Int)
-
نسخه 1.2.0
نسخه 1.2.0
1 دسامبر 2021
androidx.collection:collection:1.2.0 و androidx.collection:collection-ktx:1.2.0 منتشر شدند. نسخه 1.2.0 حاوی این commit ها است.
تغییرات مهم از 1.1.0
- یک سازنده آرایه به
ArraySetاضافه کنید. ( ID7f19 ) - با اجرای enterSet
entrySet()entrySet().toArray()،remove()،removeAll()وretainAll()و حذف پیاده سازیentrySet().addAll()( I5d505 ) مطابق با API قرار دهید.
نسخه 1.2.0-rc01
17 نوامبر 2021
androidx.collection:collection:1.2.0-rc01 و androidx.collection:collection-ktx:1.2.0-rc01 منتشر شدند. نسخه 1.2.0-rc01 حاوی این commit ها است.
تغییرات API
- هیچ تغییری نسبت به نسخه بتای قبلی وجود ندارد.
نسخه 1.2.0-beta01
13 اکتبر 2021
androidx.collection:collection:1.2.0-beta01 و androidx.collection:collection-ktx:1.2.0-beta01 منتشر شدند. نسخه 1.2.0-beta01 حاوی این تعهدات است.
رفع اشکال
- با اجرای enterSet
entrySet()entrySet().toArray()،remove()،removeAll()وretainAll()و حذف پیاده سازیentrySet().addAll()( I5d505 ) مطابق با API قرار دهید.
نسخه 1.2.0-alpha01
16 دسامبر 2020
androidx.collection:collection:1.2.0-alpha01 و androidx.collection:collection-ktx:1.2.0-alpha01 منتشر شدند. نسخه 1.2.0-alpha01 حاوی این commit ها است.
تغییرات API
- یک سازنده آرایه به
ArraySetاضافه کنید. ( ID7f19 )
نسخه 1.1.0
نسخه 1.1.0
5 ژوئن 2019
androidx.collection:collection:1.1.0 و androidx.collection:collection-ktx:1.1.0 منتشر شدند. commit های شامل 1.1.0 را می توانید در اینجا پیدا کنید.
در زیر خلاصه ای از تغییرات از 1.0.0 به 1.1.0 آمده است:
ویژگی های جدید
- از اجرای کارآمدتر برای توابع
containsوisNotEmptyدر آرتیفکت 'collection-ktx' استفاده کنید. ( aosp/866529 )
API تغییر می کند
-
putIfAbsentبهLongSparseArray،SimpleArrayMapوSparseArrayCompatاضافه کنید ( aosp/772608 ) - افزودن
getOrDefaultبهSimpleArrayMap( aosp/772607 ) -
removeدو آرگومان را بهLongSparseArray،SimpleArrayMapوSparseArrayCompatاضافه کنید. پسوندهای KTX مربوطه را برای این عملکرد منسوخ کنید. ( aosp/772482 ) -
replaceدو آرگومان را بهLongSparseArray،SimpleArrayMapوSparseArrayCompatاضافه کنید ( aosp/772483 ) -
replaceسه آرگومان را بهLongSparseArray،SimpleArrayMapوSparseArrayCompatاضافه کنید ( aosp/772484 ) - روش های
deleteاضافی را منسوخ کنید. روشremoveهمان API و عملکرد را ارائه می دهد و با API استفاده شده توسط Maps غیر تخصصی مطابقت دارد. ( aosp/866053 )
رفع اشکال
-
SimpleArrayMapتغییر دهید تا آرایه های کش جهانی داخلی آن درSimpleArrayMap.classبه جایArrayMap.classهمگام شود. این تضمین می کند که اگر فقط ازSimpleArrayMapاستفاده می کنید،ArrayMapمی توان با ابزارهای کوچک کردن کد حذف کرد. ( aosp/934557 )
نسخه 1.1.0-rc01
7 مه 2019
androidx.collection:collection:1.1.0-rc01 و androidx.collection:collection-ktx:1.1.0-rc01 منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- از اجرای کارآمدتر برای توابع
containsوisNotEmptyدر آرتیفکت 'collection-ktx' استفاده کنید. ( aosp/866529 )
نسخه 1.1.0-beta01
3 آوریل 2019
androidx.collection:collection:1.1.0-beta01 و androidx.collection:collection-ktx:1.1.0-beta01 منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.
API تغییر می کند
- روشی که در یادداشتهای انتشار alpha03 بهعنوان تغییر مقدار
@RestrictToآن ذکر شده است، حذف شده است. هیچ کتابخانه AndroidX (در حال حاضر یا در گذشته) از آن استفاده نمی کرد و هیچ عملکردی را ارائه نمی داد که در API عمومی وجود نداشته باشد.
رفع اشکال
-
SimpleArrayMapتغییر دهید تا آرایه های کش جهانی داخلی آن درSimpleArrayMap.classبه جایArrayMap.classهمگام شود. این تضمین می کند که اگر فقط ازSimpleArrayMapاستفاده می کنید،ArrayMapمی توان با ابزارهای کوچک کردن کد حذف کرد. ( aosp/934557 )
نسخه 1.1.0-alpha03
13 مارس 2019
androidx.collection:collection:1.0.0-alpha03 و androidx.collection:collection-ktx:1.0.0-alpha03 منتشر شدند. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.
API تغییر می کند
- روشی در
ArraySetکه قبلاً@RestrictTo(LIBRARY_GROUP)علامت گذاری شده بود به@RestrictTo(LIBRARY_GROUP_PREFIX)تغییر کرد. این برای پشتیبانی از استفاده تاریخی توسط سایر کتابخانههای AndroidX است که اکنون در شناسههای مختلف گروه Maven هستند. این روش یا عمومی می شود یا در نسخه 1.1.0-alpha04 حذف می شود زیرا سایر کتابخانه های AndroidX نباید API های خاصی را دریافت کنند که سایر توسعه دهندگان آن را ندارند.
نسخه 1.1.0-alpha02
30 ژانویه 2019
androidx.collection:collection 1.1.0-alpha02 و androidx.collection:collection-ktx 1.1.0-alpha02 منتشر شدند.
API تغییر می کند
- روش های
deleteاضافی را منسوخ کنید. روشهایremoveهمان API و عملکرد را ارائه میکنند و با API استفاده شده توسط Maps غیرتخصصی مطابقت دارد. ( aosp/866053 )
نسخه 1.1.0-alpha01
3 دسامبر 2018
API تغییر می کند
-
putIfAbsentبهLongSparseArray،SimpleArrayMapوSparseArrayCompatاضافه کنید ( aosp/772608 ) - افزودن
getOrDefaultبهSimpleArrayMap( aosp/772607 ) -
removeدو آرگومان را بهLongSparseArray،SimpleArrayMapوSparseArrayCompatاضافه کنید. پسوندهای KTX مربوطه را برای این عملکرد منسوخ کنید. ( aosp/772482 ) -
replaceدو آرگومان را بهLongSparseArray،SimpleArrayMapوSparseArrayCompatاضافه کنید ( aosp/772483 ) -
replaceسه آرگومان را بهLongSparseArray،SimpleArrayMapوSparseArrayCompatاضافه کنید ( aosp/772484 )