אוסף
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
27 באוגוסט 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-Collection, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle
של האפליקציה או המודול:
Groovy
dependencies { def collection_version = "1.5.0" implementation "androidx.collection:collection:$collection_version" }
Kotlin
dependencies { val collection_version = "1.5.0" implementation("androidx.collection:collection:$collection_version") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות של Build.
משוב
המשוב שלכם עוזר לנו לשפר את 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
החזירה את הערךnull
עבור valueAt ואת הערךkeyAt
כשלהעבירו לה אינדקס שהיה בטווח המוקצה, אבל מחוץ לטווח שהוסיפו0..size -1
. כפי שמתואר במסמך, אף פעם לא הייתה ציפייה להתנהגות הזו, והיא לא נכללה בטווח הקלט התקין. השינוי הזה מתקן את ההתנהגות הזו, כך שבמקום זאת, הפונקציה מחזירהIndexOutOfBounds
כשמועבר אליה אינדקס לא תקין. (I68453)
External Contribution
תודה ל-Jake Wharton על התרומות הבאות:
- כדי להתאים את ההתנהגות של
joinToString
לאוספים של פלטפורמות, מוסיפים מפריד לפני ומאחורי מחוון החיתוך כשמגבילים את הרכיבים הכלולים. (I1b7e8) ScatterSet.hashCode
כבר לא מגן מפני רקורסיה (כלומר, הוספת הקבוצה לעצמה). כך ההתנהגות שלו תהיה זהה לזו שלScatterMap
,HashSet
וקבוצות פרימיטיביות מבוססות פיזור (למשל,LongSet
). שימו לב שהשיטהequals
כבר הייתה חשופה לרקורסיה, ו-toString
מגן מפניה – שני סוגי ההתנהגויות האלה תואמים לאוספים האחרים. (I9c84a)- הפונקציה
ScatterSet.retainAll
מוטמעת עכשיו כדי למנוע יצירה של מופע lambda. (Ifa4b7) ScatterSet.hashCode
כבר לא משתמש בקיבולת שלו בחישוב הגיבוב, וכך מוודא שתוכן זהה אבל קיבולות שונות עדיין יניבו את אותו ערך. (Ic863b)- השגיאה
IllegalStateException
מופיעה עכשיו אם קוראים ל-remove()
לפניnext()
באיטרטור של האוספיםkeys
,values
אוentries
שלScatterMap.asMap()
אוScatterSet.asSet()
. כך ההתנהגות שלו תהיה זהה להתנהגות של המפה הרגילה ושל ההגדרות. (I71694)
גירסה 1.5
גרסה 1.5.0
12 במרץ 2025
androidx.collection:collection-*:1.5.0
משוחרר. גרסה 1.5.0 מכילה את ההתחייבויות האלה.
גרסה 1.5.0-rc01
26 בפברואר 2025
androidx.collection:collection-*:1.5.0-rc01
משוחרר. גרסה 1.5.0-rc01 מכילה את הקומטים האלה.
גרסה 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
- נוספה תמיכה ביעד KMP וביעד kotlin 1.9 (Icf15d, b/364652024)
watchosDeviceArm64
גרסה 1.5.0-alpha06
13 בנובמבר 2024
androidx.collection:collection-*:1.5.0-alpha06
משוחרר. גרסה 1.5.0-alpha06 מכילה את הקומטים האלה.
תיקוני באגים
- תוקן קראש שיכול היה להתרחש ב-
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 מכילה את הקומטים האלה.
גרסה 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 מכילה את הקומטים האלה.
שינויים ב-API
- עדכון גרסת Kotlin ל-1.9 (I1a14c)
External Contribution
- העברה אל
contains
אלcontainsKey
. תודה, Jake Wharton! (I9362b) - הוספת בנאי מאגרים לאוספים סקלריים מיוחדים. תודה, Jake Wharton! (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 מכילה את ההתחייבויות האלה.
גרסה 1.4.4
18 בספטמבר 2024
androidx.collection:collection-*:1.4.4
משוחרר. גרסה 1.4.4 מכילה את הקומטים האלה.
תיקוני באגים
- פתרון עקיף
ArrayIndexOutOfBounds
כשממיינים אוסף ריק. (I65245)
גרסה 1.4.3
7 באוגוסט 2024
androidx.collection:collection-*:1.4.3
משוחרר. גרסה 1.4.3 מכילה את ההתחייבויות האלה.
תיקוני באגים
- תוקנה בעיה שגרמה להשחתה ב-
ScatterMap
, ב-ScatterSet
ובגרסאות הפרימיטיביות שלהם. (I38a4a, b/352560465) - אופטימיזציה של הביצועים. במיוחד:
- מחליפים את הקריאות ל-
check()
ול-required()
בגרסאות שלא כוללות זריקת חריגים בשורה. כך מקטינים את הגודל הסופי של הקובץ הבינארי, וחשוב מכך, מקלים קצת על העומס במטמון ההוראות. - שיפור
removeDeletedMarkers()
באוסף 'פיזור'. בגרסה החדשה, סמני המחיקה נמחקים בקבוצות של 8, והתהליך מדלג על פעולות כתיבה יקרות יותר. (Ic0566)
- מחליפים את הקריאות ל-
גרסה 1.4.2
24 ביולי 2024
androidx.collection:collection-*:1.4.2
משוחרר. גרסה 1.4.2 מכילה את הקומטים האלה.
תכונות חדשות
- כולל יעדים נוספים של Kotlin Multiplatform:
watchos
, tvos
, linuxArm64
. (b/352543988)
גרסה 1.4.1
10 ביולי 2024
androidx.collection:collection-*:1.4.1
משוחרר. גרסה 1.4.1 מכילה את ההתחייבויות האלה.
תיקוני באגים
- הסרה של מצבות שנמחקו מהמפה או מהקבוצה כשמשנים את הגודל. (7a996c5, b/345960092)
גרסה 1.4.0
24 בינואר 2024
androidx.collection:collection-*:1.4.0
משוחרר. גרסה 1.4.0 מכילה את הקומיטים האלה.
שינויים חשובים מאז גרסה 1.3.0
נוספו קולקציות חדשות ויעילות לאחסון פרימיטיבים בלי boxing:
-
MutableScatterMap
ו-ScatterMap
– כיתות עםMutableMap
וממשק API שדומה למפה -
MutableScatterSet
&ScatterSet
– כיתות עםMutableSet
וממשק API דמוי Set -
MutableObjectList
&ObjectList
– כיתות עםMutableList
וממשק API דמוי רשימה
לדוגמה, מפה עם מפתח מסוג integer וערך מסוג reference היא IntObjectMap<T>
. מפה עם מפתח ארוך וערך מסוג float היא LongFloatMap
. אין גרסה בשם ObjectObjectMap
כי היא כלולה ב-ScatterMap/MutableScatterMap
.
גרסה 1.4.0-rc01
10 בינואר 2024
הגרסה androidx.collection:collection-*:1.4.0-rc01
יוצאת ללא שינויים. גרסה 1.4.0-rc01 מכילה את הקומיטים האלה.
גרסה 1.4.0-beta02
29 בנובמבר 2023
androidx.collection:collection-*:1.4.0-beta02
משוחרר. גרסה 1.4.0-beta02 מכילה את הקומיטים האלה.
תכונות חדשות
- שיפור הביצועים של
FloatFloatPair
. (If5537)
תיקוני באגים
-
ScatterMap.asMap()
iterator מחזיר עכשיו מופעים חדשים (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 מכילה את הקומיטים האלה.
שינויים ב-API
- נוספה פונקציית עומס יתר ל-
put
שמחזירה את הערך הקודם כשהוא מוחלף בכל האוספים הפרימיטיביים, כמוFloatFloatMap
. - המרת שיטות
removeIf
באוספים פרימיטיביים, כמוremoveIf
, לשורת קוד.MutableFloatFloatMap
כך מוודאים שלא מוקצה lambda ל-removeIf
.
גרסה 1.4.0-alpha01
4 באוקטובר 2023
androidx.collection:collection-*:1.4.0-alpha01
משוחרר. גרסה 1.4.0-alpha01 מכילה את הקומיטים האלה.
תכונות חדשות
נוספו אוספים חדשים עם יעילות גבוהה, שמאופיינים בתקורה נמוכה של הקצאת זיכרון ובביצועים גבוהים:
-
MutableScatterMap
ו-ScatterMap
– כיתות עםMutableMap
וממשק API שדומה למפה -
MutableScatterSet
&ScatterSet
– כיתות עםMutableSet
וממשק API דמוי Set -
MutableObjectList
&ObjectList
– כיתות עםMutableList
וממשק API דמוי רשימה
נוספו קולקציות חדשות ויעילות לאחסון פרימיטיבים בלי boxing:
-
Mutable[Int|Float|Long]List
– מחלקות עם API שדומה ל-MutableList<Int|Float|Long>
. קיימת גם גרסת[Int|Float|Long]List
לקריאה בלבד. לדוגמה, אפשר להשתמש ב-IntList
כדי לאחסן מספרים שלמים. -
Mutable[Int|Float|Long]Set
– מחלקות עם API שדומה ל-MutableSet<Int|Float|Long>
. קיימת גם גרסת[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
לקריאה בלבד. לדוגמה, מפה עם מפתח מסוג integer וערך מסוג reference היאIntObjectMap<T>
. מפה עם מפתח ארוך וערך מסוג float היאLongFloatMap
. אין גרסה בשםObjectObjectMap
כי היא כלולה ב-ScatterMap/MutableScatterMap
.
גרסה 1.3.0
גרסה 1.3.0
4 באוקטובר 2023
androidx.collection:collection-*:1.3.0
משוחרר. גרסה 1.3.0 מכילה את הקומיטים האלה.
שינויים חשובים מאז גרסה 1.2.0
- מעכשיו אפשר להשתמש ב-Collections בפרויקטים של Kotlin Multiplatform. שימו לב: יעדים שאינם Android של Collections עדיין נמצאים בשלב הניסוי, אבל החלטנו למזג גרסאות כדי להקל על מפתחים לנסות אותם.
- כל הקוד המקורי הועבר ל-Kotlin. כחלק מהשינוי הזה, הרבה ממשקי API מוקלדים עכשיו בצורה נכונה לגבי ערכי null, וכמה חברים פרטיים בחבילה הפכו ל-
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 כוללת את הקומיטים האלה.
גרסה 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 מכילה את הקומיטים האלה.
תכונות חדשות
- עכשיו אפשר להשתמש באוספים בפרויקטים של KMM. שימו לב: יעדים של אוספים שאינם Android עדיין נמצאים בשלב הניסוי, אבל החלטנו למזג גרסאות כדי להקל על מפתחים לנסות אותם.
שינויים ב-API
-
ArraySet
מטמיע עכשיו אתMutableCollections
במקום אתAbstractMutableCollection
כדי לאפשר הטמעה יעילה יותר שלtoArray
(I1ac32)
תיקוני באגים
-
ArraySet.toArray
זמין עכשיו רק ב-JVM, כי הוא תמיד נכלל רק לצורך תאימות ל-Java. משתמשי Kotlin צריכים בדרך כלל להשתמש במקום זאת בעוזרים של stdlib.toTypedArray
, שמספקים את אותה פונקציונליות בדיוק עם בטיחות נוספת של סוגים. (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 מכילה את הקומיטים האלה.
שינויים ב-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 מכילה את הקומיטים האלה.
תכונות חדשות
collection-ktx
תוספים הועברו אל ארטיפקט האוספים הראשי,androidx.collection:collection
. השינוי הזה מאפשר למשתמשי Kotlin לגשת לתוספים הקיימים מראש מסוג -ktx בלי לדרוש את התלות ב--ktx, ועדיין לשמור על תאימות למשתמשים קיימים. אין יותר יתרון בשמירה של התוספים האלה בארטיפקט נפרד מסוג -ktx, כי הארטיפקט הראשי עבר ל-Kotlin. (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()
- אי אפשר יותר לבצע את הקריאות הבאות מ-Kotlin:
set.toArray()
– שימושset.toTypedArray()
set.toArray(array)
– שימושset.forEachIndexed(array::set)
- הקריאות הבאות כוללות את סוג הארגומנט
- שילוב של בנאי עמוס יתר על המידה עבור
SparseArrayCompat
כארגומנט אופציונלי למשתמשי Kotlin. (If8407, b/227474719) - הסרת תחביר של אופרטורים עבור
SparseArrayCompat.get(key, defaultValue).
הערה: עדיין אפשר להשתמש בתחביר של אופרטורים עבור.get(key)
, אבל השינוי הזה משפר את ההתאמה בין ממשק ה-API שלSparseArrayCompat
לבין המחלקות האחרות בספרייה הזו. (I9a38d) - העברנו את התוספים
LongSparseArray
אל הארטיפקט הראשי, androidx.collection:collection. השינוי הזה מאפשר למשתמשי Kotlin לגשת לתוספים הקיימים מראש מסוג -ktx בלי לדרוש את התלות ב--ktx, ועדיין לשמור על תאימות למשתמשים קיימים. אין יותר יתרון בשמירה של התוספים האלה בארטיפקט נפרד מסוג -ktx, כי הארטיפקט הראשי עבר ל-Kotlin. (I8659a) - המרת
LongSparseArray
ל-Kotlin. השינוי הזה מוסיף ערך null מפורש לסוגים שלו, וזה שינוי שמתאים לבינארי, אבל עלול לגרום לחוסר תאימות למקור. במיוחד: * אי אפשר יותר לגשת אל.isEmpty
כאל מאפיין, צריך לגשת אליו כאל קריאה לפונקציה ב-Kotlin –.isEmpty()
(Idfd0f) - המרת
SimpleArrayMap
ל-Kotlin. השינוי הזה כולל כמה שינויים לא תואמים, כתוצאה מפעולת הדדית בין Java ל-Kotlin והיכולת להגדיר נכון את האפשרות של טיפוסים להיות null במקור.- ממשקי ה-API הפרטיים של החבילה,
.mSize
,.mArray
,.mHashes
,.indexOf()
,.indexOfNull()
ו-.indexOfValue()
, הוגדרו כפרטיים – מבחינה טכנית זהו שינוי שגורם לאי-תאימות בינארית, אבל הוא משקף את הנראות המיועדת של השדות האלה, וזה הכי קרוב שאפשר להגיע ב-Kotlin, כי אין בה דרך לציין נראות פרטית של חבילה. - הגדרנו עכשיו בצורה נכונה את האפשרות להגדיר ערך null בחלק מהסוגים. השינוי הזה משפיע על השיטות הבאות:
.getOrDefault
,.keyAt
,.valueAt
,.setValueAt
,.put
,.putIfAbsent
,.removeAt
,.replace
. - משתמשי Kotlin יכולים להשתמש ב-
.isEmpty()
רק כפונקציה, ולא גם דרך גישה למאפיין. (I271b7, b/182813986)
- ממשקי ה-API הפרטיים של החבילה,
המרת
CircularArray
ל-Kotlin. שינויים בולטים:- הפונקציה מתקנת את הערך null של הגנריקה שלה כך שלא יהיה null. בעבר לא הייתה אפשרות להצהיר על כך, אבל זה נאכף בכל ממשקי ה-API הציבוריים שלה.
- בגלל יכולת הפעולה ההדדית של Kotlin עם Java, בעבר הייתה אפשרות לגשת לשיטות מסוימות גם כמאפיינים וגם כפונקציות. עם זאת, כדי לצמצם את הכפילות תוך שמירה על תאימות בינארית, היה צורך להסיר אותם, וזהו שינוי שגורם לאי-תאימות למקור. השיחות המושפעות הן:
.isEmpty
, .getLast()
ו-.getFirst()
. (Ifffac)
המרת
CircularIntArray
ל-Kotlin. בגלל יכולת הפעולה ההדדית של Kotlin עם Java, בעבר הייתה אפשרות לגשת לשיטות מסוימות גם כמאפיינים וגם כפונקציות. עם זאת, כדי לצמצם כפילויות ולשמור על תאימות בינארית, היה צורך להסיר את הפונקציות האלה, וזהו שינוי שגורם לאי-תאימות למקור. השיחות המושפעות הן:.isEmpty
, .getLast()
ו-.getFirst()
. (Ie36ce)המרת
LruCache
ל-Kotlin (Ia2f19)המרת
SparseArrayCompat
ל-Kotlin. (If6fe8)נוסף שינוי קטן בהתנהגות של
SparseArrayCompat.valueAt()
, כך שהפונקציה לא מחזירה יותר את הערךnull
באופן שגוי לקריאות לא מאותחלות מחוץ לגבולות שלsize()
אבל בתוך הקיבולת הראשונית שסופקה.השינוי הזה כולל גם את הערך הנכון של null עבור סוגים מסוימים, שקודם לכן היה חסר.
-
.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 מכילה את הקומיטים האלה.
שינויים חשובים מאז גרסה 1.1.0
- מוסיפים בנאי של מערך ל-
ArraySet
. (Id7f19) - כדי שהאפליקציה
entrySet()
תעמוד בדרישות של API, צריך להטמיע אתentrySet().toArray()
,remove()
,removeAll()
ו-retainAll()
, ולהסיר את ההטמעה שלentrySet().addAll()
(I5d505)
גרסה 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 כוללת את הקומיטים האלה.
שינויים ב-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 מכילה את הקומיטים האלה.
תיקוני באגים
- כדי שהאפליקציה
entrySet()
תעמוד בדרישות של API, צריך להטמיע אתentrySet().toArray()
,remove()
,removeAll()
ו-retainAll()
, ולהסיר את ההטמעה שלentrySet().addAll()
(I5d505)
גרסה 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 מכילה את הקומיטים האלה.
שינויים ב-API
- מוסיפים בנאי של מערך ל-
ArraySet
. (Id7f19)
גרסה 1.1.0
גרסה 1.1.0
5 ביוני 2019
הגרסאות androidx.collection:collection:1.1.0
וandroidx.collection:collection-ktx:1.1.0
יוצאות לאור. אפשר לראות את הקומיטים שכלולים בגרסה 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 שבו נעשה שימוש במפות Google לא ייעודיות. (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
יוצאות לאור. כאן אפשר לראות את הקומיטים שכלולים בגרסה הזו.
תכונות חדשות
- שימוש בהטמעה יעילה יותר של הפונקציות
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
יוצאות לאור. כאן אפשר לראות את הקומיטים שכלולים בגרסה הזו.
שינויים ב-API
- השיטה שצוינה בהערות הגרסה של אלפא03 כשיטה שערך
@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
יוצאות לאור.
כאן אפשר לראות את הרשימה המלאה של הקומיטים שכלולים בגרסה הזו.
שינויים ב-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 שבו נעשה שימוש במפות Google לא ייעודיות. (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)