Sammlung

  
Die Speichernutzung von vorhandenen und neuen kleinen Sammlungen wird reduziert.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Release Alpha-Release
27. August 2025 1.5.0 - - 1.6.0-alpha01

Abhängigkeiten deklarieren

Für eine Abhängigkeit von Collection musst du deinem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

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")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.6

Version 1.6.0-alpha01

27. August 2025

androidx.collection:collection-*:1.6.0-alpha01 wird veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.

API-Änderungen

  • Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich (Idb6b5).

Fehlerkorrekturen

  • Bisher wurde von SparseArrayCompat für „valueAt“ null und für einen Index, der innerhalb des zugewiesenen Bereichs, aber außerhalb des eingefügten Bereichs 0..size -1 lag, keyAt zurückgegeben. Wie dokumentiert, war dieses Verhalten nie vorgesehen und lag außerhalb des gültigen Eingabebereichs. Durch diese Änderung wird das Verhalten korrigiert, sodass stattdessen IndexOutOfBounds ausgegeben wird, wenn ein ungültiger Index übergeben wird. (I68453)

Externe Beiträge

Vielen Dank an Jake Wharton für die folgenden Beiträge:

  • Richten Sie das joinToString-Verhalten an Plattformsammlungen aus, indem Sie beim Begrenzen der eingeschlossenen Elemente ein Trennzeichen vor und das Postfix nach dem Kürzungshinweis hinzufügen. (I1b7e8)
  • ScatterSet.hashCode schützt nicht mehr vor Rekursion (d.h. dem Hinzufügen der Menge zu sich selbst). Dadurch wird das Verhalten an ScatterMap, HashSet und die primitiven streubasierten Sets (z.B. LongSet). Die Methode equals war bereits anfällig für Rekursion und toString schützt davor. Beide Verhaltensweisen stimmen mit den anderen Sammlungen überein. (I9c84a)
  • Die ScatterSet.retainAll-Funktion ist jetzt inline, um die Erstellung einer Lambda-Instanz zu vermeiden. (Ifa4b7)
  • ScatterSet.hashCode verwendet seine Kapazität nicht mehr bei der Hash-Berechnung. Inhalte mit gleicher Größe, aber unterschiedlicher Kapazität führen also zum selben Wert. (Ic863b)
  • IllegalStateException wird jetzt ausgelöst, wenn Sie remove() vor next() für einen Iterator der Sammlungen keys, values oder entries von ScatterMap.asMap() oder ScatterSet.asSet() aufrufen. Das Verhalten entspricht nun dem der regulären Map- und Set-Funktionen. (I71694)

Version 1.5

Version 1.5.0

12. März 2025

androidx.collection:collection-*:1.5.0 wird veröffentlicht. Version 1.5.0 enthält diese Commits.

Version 1.5.0-rc01

26. Februar 2025

androidx.collection:collection-*:1.5.0-rc01 wird veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.

Version 1.5.0-beta03

29. Januar 2025

androidx.collection:collection-*:1.5.0-beta03 wird veröffentlicht. Version 1.5.0-beta03 enthält diese Commits.

Version 1.5.0-beta02

15. Januar 2025

androidx.collection:collection-*:1.5.0-beta02 wird veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.

Version 1.5.0-beta01

11. Dezember 2024

androidx.collection:collection-*:1.5.0-beta01 wird veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.

API-Änderungen

  • Unterstützung für das watchosDeviceArm64-KMP-Ziel und Kotlin 1.9 als Ziel hinzugefügt (Icf15d, b/364652024)

Version 1.5.0-alpha06

13. November 2024

androidx.collection:collection-*:1.5.0-alpha06 wird veröffentlicht. Version 1.5.0-alpha06 enthält diese Commits.

Fehlerkorrekturen

  • Ein Absturz wurde behoben, der in SieveCache und OrderedScatterSet auftreten konnte, wenn zahlreiche Elemente hinzugefügt wurden, was zu wiederholten Schlüsselkollisionen führte. (Iaaf3d, b/375607736)
  • Fügen Sie der Sammlung von Bibliotheken das WASM-Ziel hinzu. (I66fe3, b/352722444)

Version 1.5.0-alpha05

30. Oktober 2024

androidx.collection:collection-*:1.5.0-alpha05 wird veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.

Version 1.5.0-alpha04

16. Oktober 2024

androidx.collection:collection-*:1.5.0-alpha04 wird veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.

Version 1.5.0-alpha03

2. Oktober 2024

androidx.collection:collection-*:1.5.0-alpha03 wird veröffentlicht. Version 1.5.0-alpha03 enthält diese Commits.

API-Änderungen

  • Aktualisierung der Kotlin-Version auf 1.9 (I1a14c)

Externe Beiträge

  • Leite contains an containsKey weiter. Vielen Dank, Jake Wharton! (I9362b)
  • Container-Builder für skalar-spezialisierte Sammlungen hinzufügen Vielen Dank, Jake Wharton! (I13179)

Version 1.5.0-alpha02

18. September 2024

androidx.collection:collection-*:1.5.0-alpha02 wird veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.

API-Änderungen

  • Unterstützung für das watchosDeviceArm64-Plattformziel hinzugefügt. (I1cc04, b/364652024)

Version 1.5.0-alpha01

4. September 2024

androidx.collection:collection-*:1.5.0-alpha01 wird veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.

API-Änderungen

  • OrderedScatterSet ist eine neue geordnete, zuweisungsfreie Sammlung (Ic4178)
  • SieveCache ist ein neuer, zuweisungsfreier Ersatz für LruCache, der eine bessere Trefferquote bietet. (I50a17)
  • Die interne Darstellung von packedValue für IntIntPair und FloatFloatPair wurde verfügbar gemacht. (Ifeb75, b/331853566)
  • Zugriff auf das Inhaltsarray in Listensammlungen hinzugefügt. (I899d5, b/333903173)
  • Fügen Sie DoubleList hinzu, eine listenähnliche Datenstruktur, die für Double-Werte optimiert ist. (Ia10d1, b/315127635)

Fehlerkorrekturen

  • Die Collections-Bibliothek wird auf Kotlin 1.9 umgestellt (I0782f)
  • Viele Sammlungen wurden optimiert, um effizienter zu sein. (Ic0566)

Version 1.4

Version 1.4.5

30. Oktober 2024

androidx.collection:collection-*:1.4.5 wird veröffentlicht. Version 1.4.5 enthält diese Commits.

Version 1.4.4

18. September 2024

androidx.collection:collection-*:1.4.4 wird veröffentlicht. Version 1.4.4 enthält diese Commits.

Fehlerkorrekturen

  • Problemumgehung ArrayIndexOutOfBounds beim Sortieren einer leeren Sammlung. (I65245)

Version 1.4.3

7. August 2024

androidx.collection:collection-*:1.4.3 wird veröffentlicht. Version 1.4.3 enthält diese Commits.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, der zu einer Beschädigung von ScatterMap, ScatterSet und ihren primitiven Varianten führen konnte. (I38a4a, b/352560465)
  • Leistungsoptimierungen Das betrifft insbesondere Folgendes:
    • Ersetzen Sie Aufrufe von check() und required() durch Varianten, bei denen keine Inline-Ausnahmen ausgelöst werden. Dadurch wird die endgültige Binärgröße reduziert und vor allem die Belastung des I-Cache etwas verringert.
    • Verbesserte removeDeletedMarkers() in der Sammlungsgruppe „scatter“. In der neuen Version werden jeweils 8 gelöschte Markierungen gleichzeitig entfernt und teurere Schreibvorgänge übersprungen. (Ic0566)

Version 1.4.2

24. Juli 2024

androidx.collection:collection-*:1.4.2 wird veröffentlicht. Version 1.4.2 enthält diese Commits.

Neue Funktionen

  • Enthält zusätzliche Kotlin Multiplatform-Ziele: watchos, tvos, linuxArm64. (b/352543988)

Version 1.4.1

10. Juli 2024

androidx.collection:collection-*:1.4.1 wird veröffentlicht. Version 1.4.1 enthält diese Commits.

Fehlerkorrekturen

  • Entfernen Sie gelöschte Tombstones aus der Map/dem Set, wenn Sie die Größe ändern. (7a996c5, b/345960092)

Version 1.4.0

24. Januar 2024

androidx.collection:collection-*:1.4.0 wird veröffentlicht. Version 1.4.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.3.0

Es wurden neue hocheffiziente Sammlungen zum Speichern von Primitiven ohne Boxing hinzugefügt:

  • MutableScatterMap & ScatterMap – Klassen mit MutableMap & kartenähnlicher API
  • MutableScatterSet & ScatterSet – Klassen mit MutableSet & Set-ähnlicher API
  • MutableObjectList & ObjectList – Klassen mit MutableList & listenähnlicher API

Eine Zuordnung mit einem Ganzzahlschlüssel und einem Referenztypwert ist beispielsweise ein IntObjectMap<T>. Eine Zuordnung mit einem langen Schlüssel und einem Gleitkommawert ist ein LongFloatMap. Es gibt keine Version mit dem Namen ObjectObjectMap, da diese von ScatterMap/MutableScatterMap abgedeckt wird.

Version 1.4.0-rc01

10. Januar 2024

androidx.collection:collection-*:1.4.0-rc01 wird ohne Änderungen veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.

Version 1.4.0-beta02

29. November 2023

androidx.collection:collection-*:1.4.0-beta02 wird veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.

Neue Funktionen

  • Verbesserte Leistung von FloatFloatPair. (If5537)

Fehlerkorrekturen

  • Der ScatterMap.asMap()-Iterator gibt jetzt neue Instanzen zurück (I28932, b/310365754).

Version 1.4.0-beta01

15. November 2023

androidx.collection:collection-*:1.4.0-beta01 wird veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • Korrektur für ListIterator, bei der Werte in ObjectList falsch festgelegt wurden, was zu einem Absturz aufgrund von IndexOutOfBoundsException führen konnte. (I3bd8a, b/307049391)

Version 1.4.0-alpha02

18. Oktober 2023

androidx.collection:collection-*:1.4.0-alpha02 wird veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.

API-Änderungen

  • Es wurde eine Überladung für put hinzugefügt, die den vorherigen Wert zurückgibt, wenn er durch alle primitiven Sammlungen wie FloatFloatMap ersetzt wird.
  • Konvertiert removeIf-Methoden für primitive Sammlungen wie MutableFloatFloatMap in Inline-Methoden. So wird sichergestellt, dass die Lambda-Funktion für removeIf nicht zugewiesen wird.

Version 1.4.0-alpha01

4. Oktober 2023

androidx.collection:collection-*:1.4.0-alpha01 wird veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

Neue Funktionen

Es wurden neue hocheffiziente Sammlungen mit geringem Zuweisungsaufwand und hoher Leistung hinzugefügt:

  • MutableScatterMap & ScatterMap – Klassen mit MutableMap & kartenähnlicher API
  • MutableScatterSet & ScatterSet – Klassen mit MutableSet & Set-ähnlicher API
  • MutableObjectList & ObjectList – Klassen mit MutableList & listenähnlicher API

Es wurden neue hocheffiziente Sammlungen zum Speichern von Primitiven ohne Boxing hinzugefügt:

  • Mutable[Int|Float|Long]List – Klassen mit einer API, die MutableList<Int|Float|Long> ähnelt. Es gibt auch die schreibgeschützte [Int|Float|Long]List. Ganzzahlen können beispielsweise in einem IntList gespeichert werden.
  • Mutable[Int|Float|Long]Set – Klassen mit einer API, die MutableSet<Int|Float|Long> ähnelt. Es gibt auch die schreibgeschützte [Int|Float|Long]Set. Ganzzahlen können beispielsweise in einem IntSet gespeichert werden.
  • Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map – Klassen mit einer API, die Mutable<Int|Float|Long,T, Int|Float|Long|T> ähnelt. Es gibt auch die schreibgeschützte [Int|Float|Long|Object][Int|Float|Long|Object]Map. Eine Zuordnung mit einem Ganzzahlschlüssel und einem Referenztypwert ist beispielsweise ein IntObjectMap<T>. Eine Zuordnung mit einem langen Schlüssel und einem Gleitkommawert ist ein LongFloatMap. Es gibt keine Version mit dem Namen ObjectObjectMap, da diese von ScatterMap/MutableScatterMap abgedeckt wird.

Version 1.3.0

Version 1.3.0

4. Oktober 2023

androidx.collection:collection-*:1.3.0 wird veröffentlicht. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • Sie können jetzt Sammlungen in Kotlin Multiplatform-Projekten verwenden. Hinweis: Nicht-Android-Ziele von Sammlungen sind weiterhin experimentell. Wir haben uns jedoch entschieden, Versionen zusammenzuführen, um Entwicklern das Ausprobieren zu erleichtern.
  • Der gesamte Quellcode wurde zu Kotlin migriert. Im Rahmen dieser Änderung sind viele APIs jetzt korrekt für die Nullheit typisiert und einige package-private-Elemente sind internal geworden. Eine Liste der genauen Änderungen finden Sie unten in den Versionshinweisen für die Nebenversion 1.3.x.
  • Im Zuge der Kotlin-Migration wurde collection-ktx mit dem Hauptsammlungsartefakt zusammengeführt. Sie können alle Abhängigkeiten von collection:collection-ktx zugunsten von collection:collection sicher entfernen, da collection-ktx jetzt leer ist.

Version 1.3.0-rc01

6. September 2023

androidx.collection:collection-*:1.3.0-rc01 wird ohne Änderungen veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

Version 1.3.0-beta01

9. August 2023

androidx.collection:collection-*:1.3.0-beta01 wird veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.

Version 1.3.0-alpha04

24. März 2023

androidx.collection:collection-*:1.3.0-alpha04 wird veröffentlicht.

Fehlerkorrekturen

  • Abhängigkeitsbeschränkungen wurden aus Maven-Artefakten entfernt, um ein Build-Problem in Kotlin Native Targets zu umgehen (b/274786186, KT-57531).

Version 1.3.0-alpha03

22. März 2023

androidx.collection:collection-*:1.3.0-alpha03 wird veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Sie können jetzt Sammlungen in KMM-Projekten verwenden. Nicht-Android-Ziele von Sammlungen sind weiterhin experimentell. Wir haben uns jedoch entschieden, Versionen zusammenzuführen, um Entwicklern das Ausprobieren zu erleichtern.

API-Änderungen

  • ArraySet verwendet jetzt MutableCollections anstelle von AbstractMutableCollection, um eine speichereffizientere Implementierung von toArray (I1ac32) zu ermöglichen.

Fehlerkorrekturen

  • ArraySet.toArray ist jetzt nur noch auf der JVM verfügbar, da es immer nur zur Kompatibilität mit Java enthalten war. Kotlin-Nutzer sollten in der Regel stattdessen die .toTypedArray-Hilfsfunktionen der Standardbibliothek verwenden, die genau dieselbe Funktionalität mit zusätzlicher Typsicherheit bieten. (I2c59b)

Version 1.3.0-alpha02

27. Juli 2022

androidx.collection:collection:1.3.0-alpha02 und androidx.collection:collection-ktx:1.3.0-alpha02 werden veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.

API-Änderungen

  • SparseArrayCompat ist jetzt für Nicht-JVM-Plattformen über das gemeinsame Artefakt verfügbar (Ic9bd0, b/219589118, b/228347315).
  • CircularIntArray ist jetzt für Nicht-JVM-Plattformen über das gemeinsame Artefakt verfügbar (I3d8ef, b/228344943).
  • LongSparseArray ist jetzt für Nicht-JVM-Plattformen über das gemeinsame Artefakt verfügbar (I73149, b/228347315).

Version 1.3.0-alpha01

29. Juni 2022

androidx.collection:collection:1.3.0-alpha01 und androidx.collection:collection-ktx:1.3.0-alpha01 werden veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

Neue Funktionen

  • collection-ktx-Erweiterungen wurden in das Hauptartefakt für Sammlungen, androidx.collection:collection, migriert. Durch diese Änderung sind die vorhandenen -ktx-Erweiterungen für Kotlin-Nutzer zugänglich, ohne dass die -ktx-Abhängigkeit erforderlich ist. Gleichzeitig wird die Kompatibilität für bestehende Nutzer beibehalten. Es ist nicht mehr sinnvoll, diese Erweiterungen in einem separaten -ktx-Artefakt zu verwalten, da das Hauptartefakt zu Kotlin migriert wurde. (I6eef2)

API-Änderungen

  • ArraySet erweitert jetzt AbstractMutableCollection und implementiert nicht mehr direkt die Collection-Schnittstelle. (If6da0, b/230860589)
  • ArraySet in Kotlin konvertiert. Aufgrund der strengeren Typisierung werden einige Kotlin-Aufrufe möglicherweise nicht mehr kompiliert. (Id68c1, b/230860589)
    • Die folgenden Aufrufe haben den Argumenttyp T, nicht T?:
      • ArraySet<T>.contains(null)
      • ArraySet<T>.add(null)
      • ArraySet<T>.remove(null)
    • Die folgenden Aufrufe haben den Rückgabetyp T?, nicht T!:
      • ArraySet<T?>.valueAt(n)
      • ArraySet<T?>.removeAt(n)
      • ArraySet<T?>().iterator().next()
    • Die folgenden Aufrufe sind in Kotlin nicht mehr möglich:
      • set.toArray() – set.toTypedArray() verwenden
      • set.toArray(array) – set.forEachIndexed(array::set) verwenden
  • Kombinieren Sie den überladenen Konstruktor für SparseArrayCompat als optionales Argument für Kotlin-Nutzer. (If8407, b/227474719)
  • Entfernen der Operatorsyntax für SparseArrayCompat.get(key, defaultValue).: Die Operatorsyntax für .get(key) ist weiterhin zulässig, aber die API-Oberfläche von SparseArrayCompat wird besser an die anderen Klassen in dieser Bibliothek angepasst. (I9a38d)
  • Migrieren Sie LongSparseArray-Erweiterungen in das Hauptartefakt „androidx.collection:collection“. Durch diese Änderung sind die vorhandenen -ktx-Erweiterungen für Kotlin-Nutzer zugänglich, ohne dass die -ktx-Abhängigkeit erforderlich ist. Gleichzeitig wird die Kompatibilität für bestehende Nutzer beibehalten. Es ist nicht mehr sinnvoll, diese Erweiterungen in einem separaten -ktx-Artefakt zu verwalten, da das Hauptartefakt zu Kotlin migriert wurde. (I8659a)
  • Konvertiere LongSparseArray in Kotlin. Durch diese Änderung wird den Typen explizite Nullable-Eigenschaften hinzugefügt. Das ist eine binärkompatible Änderung, kann aber zu Inkompatibilitäten im Quellcode führen. Insbesondere: * Auf .isEmpty kann nicht mehr als Attribut zugegriffen werden. In Kotlin muss es als Funktionsaufruf aufgerufen werden: .isEmpty() (Idfd0f)
  • Konvertiere SimpleArrayMap in Kotlin. Diese Änderung führt zu einigen inkompatiblen Änderungen, die auf die Java-Kotlin-Interoperabilität und die Möglichkeit zurückzuführen sind, die Nullable-Eigenschaft von Typen in der Quelle korrekt zu definieren.
    • Die paketprivaten APIs .mSize, .mArray, .mHashes, .indexOf(), .indexOfNull() und .indexOfValue() wurden privat gemacht. Dies ist technisch gesehen eine binär inkompatible Änderung, spiegelt aber die beabsichtigte Sichtbarkeit dieser Felder wider und ist die beste Lösung, die wir in Kotlin erreichen können, da es keine Möglichkeit gibt, die paketprivate Sichtbarkeit anzugeben.
    • Die Nullität einiger Typen ist jetzt richtig definiert. Die betroffenen Methoden sind: .getOrDefault, .keyAt, .valueAt, .setValueAt, .put, .putIfAbsent, .removeAt, .replace.
    • Für Kotlin-Nutzer ist .isEmpty() jetzt nur noch als Funktion verfügbar und nicht mehr über den Zugriff auf Eigenschaften. (I271b7, b/182813986)
  • Konvertiere CircularArray in Kotlin. Wichtige Änderungen:

    • Die Nullable-Eigenschaft der Generics wird auf „nicht null“ korrigiert. Das war zuvor nicht möglich, wurde aber in allen öffentlichen APIs erzwungen.
    • Aufgrund der Java-Interop-Funktion von Kotlin war es bisher möglich, auf bestimmte Methoden sowohl als Properties als auch als Funktionen zuzugreifen. Um jedoch Duplikate zu vermeiden und gleichzeitig die binäre Kompatibilität beizubehalten, mussten diese entfernt werden. Dies ist eine quellinkompatible Änderung. Die betroffenen Aufrufe sind .isEmpty, .getLast() und .getFirst(). (Ifffac)
  • Konvertiere CircularIntArray in Kotlin. Aufgrund der Java-Interop-Funktion von Kotlin war es bisher möglich, auf bestimmte Methoden sowohl als Eigenschaften als auch als Funktionen zuzugreifen. Um jedoch Duplikate zu vermeiden und gleichzeitig die binäre Kompatibilität aufrechtzuerhalten, mussten diese entfernt werden. Dies ist eine quellinkompatible Änderung. Die betroffenen Anrufe sind: .isEmpty, .getLast() und .getFirst(). (Ie36ce)

  • LruCache in Kotlin konvertieren (Ia2f19)

  • Konvertiere SparseArrayCompat in Kotlin. (If6fe8)

    SparseArrayCompat.valueAt() wurde geringfügig geändert. Es wird nicht mehr fälschlicherweise null für nicht initialisierte Aufrufe außerhalb des Bereichs von size(), aber innerhalb der angegebenen anfänglichen Kapazität zurückgegeben.

    Durch diese Änderung wird auch die korrekte Nullheit für einige Typen eingeführt, die zuvor fehlte.

    • .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)

Version 1.2.0

Version 1.2.0

1. Dezember 2021

androidx.collection:collection:1.2.0 und androidx.collection:collection-ktx:1.2.0 werden veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

  • Fügen Sie ArraySet einen Array-Konstruktor hinzu. (Id7f19)
  • entrySet() API-konform machen, indem Sie entrySet().toArray(), remove(), removeAll() und retainAll() implementieren und die Implementierung von entrySet().addAll() (I5d505) entfernen.

Version 1.2.0-rc01

17. November 2021

androidx.collection:collection:1.2.0-rc01 und androidx.collection:collection-ktx:1.2.0-rc01 werden veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.

API-Änderungen

  • Keine Änderungen gegenüber der vorherigen Betaversion.

Version 1.2.0-beta01

13. Oktober 2021

androidx.collection:collection:1.2.0-beta01 und androidx.collection:collection-ktx:1.2.0-beta01 werden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • entrySet() API-konform machen, indem Sie entrySet().toArray(), remove(), removeAll() und retainAll() implementieren und die Implementierung von entrySet().addAll() (I5d505) entfernen.

Version 1.2.0-alpha01

16. Dezember 2020

androidx.collection:collection:1.2.0-alpha01 und androidx.collection:collection-ktx:1.2.0-alpha01 werden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

API-Änderungen

  • Fügen Sie ArraySet einen Array-Konstruktor hinzu. (Id7f19)

Version 1.1.0

Version 1.1.0

5. Juni 2019

androidx.collection:collection:1.1.0 und androidx.collection:collection-ktx:1.1.0 werden veröffentlicht. Die Commits, die in Version 1.1.0 enthalten sind, finden Sie hier.

Nachfolgend finden Sie eine Zusammenfassung der Änderungen von Version 1.0.0 zu Version 1.1.0:

Neue Funktionen

  • Effizientere Implementierung für die Funktionen contains und isNotEmpty im Artefakt „collection-ktx“. (aosp/866529)

API-Änderungen

  • putIfAbsent zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772608)
  • getOrDefault zu SimpleArrayMap hinzufügen (aosp/772607)
  • Fügen Sie remove mit zwei Argumenten zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzu. Die entsprechenden KTX-Erweiterungen für diese Funktion werden eingestellt. (aosp/772482)
  • Zwei Argumente für replace in LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772483)
  • Das Argument replace mit drei Argumenten wird LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzugefügt (aosp/772484).
  • Stellen Sie die Unterstützung für redundante delete-Methoden ein. Die remove-Methode bietet dieselbe API und Funktionalität wie die API, die von nicht spezialisierten Karten verwendet wird. (aosp/866053)

Fehlerkorrekturen

  • Ändern Sie SimpleArrayMap, um den internen globalen Cache von Arrays auf SimpleArrayMap.class anstelle von ArrayMap.class zu synchronisieren. So wird sichergestellt, dass ArrayMap von Tools zum Verkleinern von Code entfernt werden kann, wenn Sie nur SimpleArrayMap verwenden. (aosp/934557)

Version 1.1.0-rc01

7. Mai 2019

androidx.collection:collection:1.1.0-rc01 und androidx.collection:collection-ktx:1.1.0-rc01 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • Effizientere Implementierung für die Funktionen contains und isNotEmpty im Artefakt „collection-ktx“. (aosp/866529)

Version 1.1.0-beta01

3. April 2019

androidx.collection:collection:1.1.0-beta01 und androidx.collection:collection-ktx:1.1.0-beta01 werden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

  • Die Methode, deren @RestrictTo-Wert sich laut Versionshinweisen für Alpha 03 geändert hat, wurde entfernt. Sie wurde von keiner AndroidX-Bibliothek verwendet (weder jetzt noch in der Vergangenheit) und bot keine Funktionen, die in der öffentlichen API fehlten.

Fehlerkorrekturen

  • Ändern Sie SimpleArrayMap, um den internen globalen Cache von Arrays auf SimpleArrayMap.class anstelle von ArrayMap.class zu synchronisieren. So wird sichergestellt, dass ArrayMap von Tools zum Verkleinern von Code entfernt werden kann, wenn Sie nur SimpleArrayMap verwenden. (aosp/934557)

Version 1.1.0-alpha03

13. März 2019

androidx.collection:collection:1.0.0-alpha03 und androidx.collection:collection-ktx:1.0.0-alpha03 werden veröffentlicht. Eine vollständige Liste der in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

  • Eine Methode für ArraySet, die zuvor mit @RestrictTo(LIBRARY_GROUP) gekennzeichnet war, wurde in @RestrictTo(LIBRARY_GROUP_PREFIX) geändert. Dies dient zur Unterstützung der bisherigen Verwendung durch andere AndroidX-Bibliotheken, die sich jetzt in anderen Maven-Gruppen-IDs befinden. Diese Methode wird entweder öffentlich gemacht oder in Version 1.1.0-alpha04 entfernt, da andere AndroidX-Bibliotheken keine speziellen APIs erhalten sollten, die anderen Entwicklern nicht zur Verfügung stehen.

Version 1.1.0-alpha02

30. Januar 2019

androidx.collection:collection 1.1.0-alpha02 und androidx.collection:collection-ktx 1.1.0-alpha02 werden veröffentlicht.

API-Änderungen

  • Stellen Sie die Unterstützung für redundante delete-Methoden ein. Die remove-Methoden bieten dieselbe API und Funktionalität und entsprechen der API, die von nicht spezialisierten Karten verwendet wird. (aosp/866053)

Version 1.1.0-alpha01

3. Dezember 2018

API-Änderungen

  • putIfAbsent zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772608)
  • getOrDefault zu SimpleArrayMap hinzufügen (aosp/772607)
  • Fügen Sie remove mit zwei Argumenten zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzu. Die entsprechenden KTX-Erweiterungen für diese Funktion werden eingestellt. (aosp/772482)
  • Zwei Argumente für replace in LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772483)
  • Das Argument replace mit drei Argumenten wird LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzugefügt (aosp/772484).