אוסף

  
צמצום ההשפעה על הזיכרון של אוספים קיימים וחדשים קטנים.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסה אלפא
13 בנובמבר 2024 1.4.5 - - 1.5.0-alpha06

הצהרת יחסי תלות

כדי להוסיף תלות ב-Collection, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle של האפליקציה או המודול:

Groovy

dependencies {
    def collection_version = "1.4.5"
    implementation "androidx.collection:collection:$collection_version"
}

Kotlin

dependencies {
    val collection_version = "1.4.5"
    implementation("androidx.collection:collection:$collection_version")
}

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

גירסה 1.5

גרסה 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)

תרומה חיצונית

  • מעבירים את contains אל containsKey. תודה, Jake Wharton! (I9362b)
  • הוספת כלי build בקונטיינרים לאוספים שמוגדרים לסקאלרים. תודה, 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() בגרסאות שלא גורמות להשלכת חריגים בקוד. כך מקטינים את הגודל הבינארי הסופי, ובעיקר מפחיתים קצת את הלחץ על מטמון ה-i.
    • שיפור של 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 מכילה את ההוספות האלה.

תיקוני באגים

  • הסרת tombstones שנמחקו מהמפה/מהקבוצה כשמשנים את הגודל. (7a996c5, ‏ b/345960092)

גרסה 1.4.0

24 בינואר 2024

androidx.collection:collection-*:1.4.0 משוחרר. גרסה 1.4.0 כוללת את ההצהרות האלה.

שינויים חשובים מאז גרסה 1.3.0

נוספו קולקציות חדשות יעילות במיוחד לאחסון פריטים פרימיטיביים ללא אריזה:

  • MutableScatterMap ו-ScatterMap – כיתות עם MutableMap וממשק API דמוי מפה
  • MutableScatterSet ו-ScatterSet – כיתות עם MutableSet וממשק API שדומה ל-Set
  • MutableObjectList ו-ObjectList – כיתות עם MutableList וממשק API שדומה לרשימה

לדוגמה, מפה עם מפתח של מספר שלם וערך מסוג הפניה היא 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() מחזיר עכשיו מופעים חדשים (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 באוספים פרימיטיביים, כמו MutableFloatFloatMap, לקוד מוטמע. כך מוודאים שה-lambda של removeIf לא יוקצה.

גרסה 1.4.0-alpha01

4 באוקטובר 2023

androidx.collection:collection-*:1.4.0-alpha01 משוחרר. גרסה 1.4.0-alpha01 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

הוספנו קולקציות חדשות עם יעילות גבוהה, בעלות תקורה נמוכה להקצאה וביצועים גבוהים:

  • MutableScatterMap ו-ScatterMap – כיתות עם MutableMap וממשק API דמוי מפה
  • MutableScatterSet ו-ScatterSet – כיתות עם MutableSet וממשק API שדומה ל-Set
  • MutableObjectList ו-ObjectList – כיתות עם MutableList וממשק API שדומה לרשימה

נוספו קולקציות חדשות יעילות במיוחד לאחסון פריטים פרימיטיביים ללא אריזה:

  • 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 לקריאה בלבד קיים. לדוגמה, מפה עם מפתח של מספר שלם וערך מסוג הפניה היא 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 עדיין נמצאים בגרסת ניסיון, אבל החלטנו למזג את הגרסאות כדי שיהיה קל יותר למפתחים לנסות אותן.
  • כל המקור הועבר ל-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 כדי לעקוף בעיה ב-build ב-Kotlin Native Targets (b/274786186, ‏ KT-57531).

גרסה 1.3.0-alpha03

22 במרץ 2023

androidx.collection:collection-*:1.3.0-alpha03 משוחרר. גרסה 1.3.0-alpha03 מכילה את ההצהרות האלה.

תכונות חדשות

  • עכשיו אפשר להשתמש ב-Collections בפרויקטים של KMM. חשוב לזכור שהיעדים של האוספים שאינם ל-Android עדיין נמצאים בגרסת ניסיון, אבל החלטנו למזג את הגרסאות כדי שיהיה קל יותר למפתחים לנסות אותם.

שינויים ב-API

  • ArraySet מטמיע עכשיו את MutableCollections במקום את AbstractMutableCollection כדי לאפשר הטמעה יעילה יותר של toArray (I1ac32) בזיכרון

תיקוני באגים

  • ArraySet.toArray זמין עכשיו רק ב-JVM, כי הוא תמיד נכלל רק לצורך תאימות ל-Java. בדרך כלל, משתמשי Kotlin צריכים להשתמש במקום זאת בפונקציות העזר של .toTypedArray ב-stdlib, שמספקות את אותה פונקציונליות בדיוק עם תוספת של בטיחות סוגים. (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 ולא מטמיע ישירות את ממשק האוסף. (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. השינוי הזה מוסיף לאי-רלוונטיות מפורשת לסוגי הנתונים. זהו שינוי תואם בינארי, אבל הוא עלול לגרום לאי-תאימות למקורות. באופן ספציפי: * אין יותר גישה ל-.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)
  • ממירים את CircularArray ל-Kotlin. השינויים הבולטים:

    • תיקון של הערך null של הגנריקים כך שיהיה non-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 ב-artifact '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 משוחררים. כאן אפשר למצוא את ההתחייבויות (commits) שכלולות בגרסה הזו.

תכונות חדשות

  • שימוש בהטמעה יעילה יותר של הפונקציות contains ו-isNotEmpty ב-artifact '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 משוחררים. כאן אפשר למצוא את ההתחייבויות (commits) שכלולות בגרסה הזו.

שינויים ב-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 משוחררים. הרשימה המלאה של השינויים שכלולים בגרסה הזו זמינה כאן.

שינויים ב-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)