Sammlung

  
Speicherbelastung von kleinen vorhandenen und neuen Sammlungen reduzieren
Letzte Aktualisierung Stabile Version Release Candidate Beta-Ausgabe Alphaversion
11. Dezember 2024 1.4.5 - 1.5.0-beta01 -

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Collection hinzufügen möchten, müssen Sie Ihrem 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 erforderlichen Artefakte hinzu:

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

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

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen 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 einem vorhandenen Problem Ihre Stimme geben, 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.5

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 watchosDeviceArm64 KMP-Ziel und Ziel Kotlin 1.9 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)
  • WASM-Ziel zur Sammlungsbibliothek hinzufügen. (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)

Externer Beitrag

  • contains an containsKey weiterleiten Danke, Jake Wharton! (I9362b)
  • Container-Builder für skalarspezifische 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 sortierte, ohne Zuordnung verwaltete Sammlung (Ic4178)
  • SieveCache ist ein neuer, ohne Zuweisung auskommender Ersatz für LruCache, der eine bessere Trefferquote bietet. (I50a17)
  • Die interne packedValue-Darstellung für IntIntPair und FloatFloatPair wurde freigegeben. (Ifeb75, b/331853566)
  • Zugriff auf das Inhaltsarray in Listensammlungen hinzufügen (I899d5, b/333903173)
  • Fügen Sie DoubleList hinzu, eine listenähnliche Datenstruktur, die für doppelte Werte optimiert ist. (Ia10d1, b/315127635)

Fehlerkorrekturen

  • Die Collections-Bibliothek wird auf Kotlin 1.9 umgestellt (I0782f)
  • Viele der 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

  • Problemlösung für 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

  • Behebung einer Beschädigung, die bei ScatterMap, ScatterSet und ihren primitiven Varianten auftreten konnte. (I38a4a, b/352560465)
  • Leistungsoptimierungen Das betrifft insbesondere Folgendes:
    • Ersetzen Sie Aufrufe von check() und required() durch Varianten, die keine Inline-Ausnahmeauswürfe enthalten. Dadurch wird die Größe des finalen Binärcodes reduziert und vor allem der Druck auf den I-Cache etwas verringert.
    • Verbesserte removeDeletedMarkers() in der Sammlungsfamilie „scatter“. Die neue Version löscht gelöschte Markierungen jeweils zu acht und überspringt dabei teurere Schreibvorgänge. (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

  • Beim Ändern der Größe gelöschte Tombstones aus der Karte/dem Set entfernen (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 Primitivtypen ohne Boxing hinzugefügt:

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

Eine Zuordnung mit einem Ganzzahlschlüssel und einem Wert vom Referenztyp ist beispielsweise eine IntObjectMap<T>. Eine Zuordnung mit einem Long-Schlüssel und einem Gleitkommawert ist eine LongFloatMap. Es gibt keine Version mit dem Namen ObjectObjectMap, da dieser 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

  • 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

  • Fehlerbehebung: ListIterator hat fälschlicherweise Werte in ObjectList festgelegt, 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.
  • Konvertieren Sie removeIf-Methoden für primitive Sammlungen wie MutableFloatFloatMap in Inline-Methoden. Dadurch wird verhindert, dass das Lambda für removeIf 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 Sammlungen mit hoher Effizienz hinzugefügt, die einen geringen Allokationsaufwand und eine hohe Leistung bieten:

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

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

  • Mutable[Int|Float|Long]List – Klassen mit einer MutableList<Int|Float|Long>-ähnlichen API. Die schreibgeschützte Datei [Int|Float|Long]List ist ebenfalls vorhanden. In einem IntList können beispielsweise Ganzzahlen gespeichert werden.
  • Mutable[Int|Float|Long]Set – Klassen mit einer MutableSet<Int|Float|Long>-ähnlichen API. Die schreibgeschützte Datei [Int|Float|Long]Set ist ebenfalls vorhanden. In einem IntSet können beispielsweise Ganzzahlen gespeichert werden.
  • Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map – Klassen mit einer Mutable<Int|Float|Long,T, Int|Float|Long|T>-ähnlichen API. Die schreibgeschützte Datei [Int|Float|Long|Object][Int|Float|Long|Object]Map ist ebenfalls vorhanden. Eine Zuordnung mit einem Ganzzahlschlüssel und einem Wert vom Referenztyp ist beispielsweise eine IntObjectMap<T>. Eine Zuordnung mit einem Long-Schlüssel und einem Gleitkommawert ist eine LongFloatMap. Es gibt keine Version mit dem Namen ObjectObjectMap, da dieser 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-Multiplattform-Projekten verwenden. Sammlungen für andere Plattformen als Android befinden sich noch in der Testphase. Wir haben uns jedoch dazu entschieden, die Versionen zusammenzuführen, damit Entwickler sie leichter ausprobieren können.
  • Die gesamte Quelle wurde zu Kotlin migriert. Im Rahmen dieser Änderung sind viele APIs jetzt korrekt auf Null typisiert und einige private Mitglieder von Paketen wurden zu internal. Eine Liste der genauen Änderungen finden Sie in den Versionshinweisen für 1.3.x unten.
  • Im Rahmen der Kotlin-Migration wurde collection-ktx mit dem Hauptartefakt der Sammlung zusammengeführt. Sie können alle Abhängigkeiten von collection:collection-ktx zugunsten von collection:collection 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-Zielen 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 Sammlungen jetzt in KMM-Projekten verwenden. Sammlungen für andere Plattformen als Android befinden sich noch in der Testphase. Wir haben uns jedoch dazu entschieden, die Versionen zusammenzuführen, damit Entwickler sie leichter ausprobieren können.

API-Änderungen

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

Fehlerkorrekturen

  • ArraySet.toArray ist jetzt nur noch in der JVM verfügbar, da es immer nur zur Kompatibilität mit Java enthalten war. Kotlin-Nutzer sollten stattdessen in der Regel die .toTypedArray-Hilfsfunktionen der Standardbibliothek verwenden, die genau dieselben Funktionen 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 freigegeben. 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 freigegeben. Version 1.3.0-alpha01 enthält diese Commits.

Neue Funktionen

  • collection-ktx Erweiterungen wurden in das Hauptsammlungs-Artefakt androidx.collection:collection migriert. Durch diese Änderung sind die bereits vorhandenen -ktx-Erweiterungen für Kotlin-Nutzer zugänglich, ohne dass die -ktx-Abhängigkeit erforderlich ist. Gleichzeitig bleibt die Kompatibilität für bestehende Nutzer erhalten. Die Pflege dieser Erweiterungen in einem separaten -ktx-Artefakt ist nicht mehr sinnvoll, da das Hauptartefakt auf Kotlin umgestellt wurde. (I6eef2)

API-Änderungen

  • ArraySet erweitert jetzt AbstractMutableCollection und implementiert die Sammlungsoberfläche nicht mehr direkt. (If6da0, b/230860589)
  • ArraySet in Kotlin konvertiert Aufgrund der strengeren Typisierung können einige Kotlin-Aufrufe möglicherweise nicht mehr kompiliert werden. (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() – Verwendung von set.toTypedArray()
      • set.toArray(array) – Verwendung von set.forEachIndexed(array::set)
  • Kombinieren Sie den überladenen Konstruktor für SparseArrayCompat als optionales Argument für Kotlin-Nutzer. (If8407, b/227474719)
  • Operatorsyntax für SparseArrayCompat.get(key, defaultValue). entfernen. Hinweis: Die Operatorsyntax für .get(key) ist weiterhin zulässig, die API-Oberfläche von SparseArrayCompat wird jedoch 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 bereits vorhandenen -ktx-Erweiterungen für Kotlin-Nutzer zugänglich, ohne dass die -ktx-Abhängigkeit erforderlich ist. Gleichzeitig bleibt die Kompatibilität für bestehende Nutzer erhalten. Die Pflege dieser Erweiterungen in einem separaten -ktx-Artefakt ist nicht mehr sinnvoll, da das Hauptartefakt auf Kotlin umgestellt wurde. (I8659a)
  • LongSparseArray in Kotlin konvertieren Durch diese Änderung wird den Typen eine explizite Nullung hinzugefügt. Dies ist eine binärkompatible Änderung, kann aber zu Quellinkompatibilitäten führen. Insbesondere: * .isEmpty ist nicht mehr als Property zugänglich, sondern muss in Kotlin als Funktionsaufruf aufgerufen werden – .isEmpty() (Idfd0f)
  • SimpleArrayMap in Kotlin konvertieren Diese Änderung führt zu einigen inkompatiblen Änderungen, die sich aus der Java-Kotlin-Interoperabilität und der Möglichkeit ergeben, die Nullwertigkeit von Typen in der Quelle korrekt zu definieren.
    • Die paketinternen APIs .mSize, .mArray, .mHashes, .indexOf(), .indexOfNull() und .indexOfValue() wurden zu privaten APIs. Diese Änderung ist technisch gesehen nicht binärkompatibel, entspricht aber der beabsichtigten Sichtbarkeit dieser Felder und ist das Beste, was wir in Kotlin erreichen können, da es keine Möglichkeit gibt, die Sichtbarkeit als paketintern anzugeben.
    • Die Nullwertigkeit einiger Typen ist jetzt korrekt 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, nicht mehr über den Zugriff auf Eigenschaften. (I271b7, b/182813986)
  • CircularArray in Kotlin konvertieren Wichtige Änderungen:

    • Die Null-Wertigkeit der Gattungen wird korrigiert, sodass sie nicht null sind. Das war zuvor nicht deklarierbar, wurde aber in allen öffentlichen APIs erzwungen.
    • Aufgrund der Java-Interoperabilität von Kotlin war es bisher möglich, auf bestimmte Methoden sowohl als Eigenschaften als auch als Funktionen zuzugreifen. Um jedoch Duplikate zu reduzieren und gleichzeitig die Binärkompatibilität beizubehalten, mussten diese entfernt werden. Dies ist eine quelleninkompatibile Änderung. Die betroffenen Aufrufe sind .isEmpty, .getLast() und .getFirst(). (Ifffac)
  • CircularIntArray in Kotlin konvertieren Aufgrund der Java-Interoperabilität von Kotlin war es bisher möglich, auf bestimmte Methoden sowohl als Eigenschaften als auch als Funktionen zuzugreifen. Um jedoch Duplikate zu reduzieren und gleichzeitig die Binärkompatibilität beizubehalten, mussten diese entfernt werden. Dies ist eine nicht mit der Quelle kompatible Änderung. Die betroffenen Anrufe sind .isEmpty, .getLast() und .getFirst(). (Ie36ce)

  • LruCache in Kotlin (Ia2f19) konvertieren

  • SparseArrayCompat in Kotlin konvertieren (If6fe8)

    Bei SparseArrayCompat.valueAt() gibt es eine kleine Verhaltensänderung: Bei nicht initialisierten Aufrufen, die außerhalb der Grenzen von size(), aber innerhalb der angegebenen anfänglichen Kapazität liegen, wird nicht mehr fälschlicherweise null zurückgegeben.

    Durch diese Änderung wird auch die korrekte Nullung 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 freigegeben. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

  • Fügen Sie ArraySet einen Arraykonstruktor hinzu. (Id7f19)
  • Sorgen Sie dafür, dass die entrySet() API-konform ist, indem Sie entrySet().toArray(), remove(), removeAll() und retainAll() implementieren und die Implementierung von entrySet().addAll() entfernen (I5d505)

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 freigegeben. 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 freigegeben. Version 1.2.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • Sorgen Sie dafür, dass die entrySet() API-konform ist, indem Sie entrySet().toArray(), remove(), removeAll() und retainAll() implementieren und die Implementierung von entrySet().addAll() entfernen (I5d505)

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 freigegeben. Version 1.2.0-alpha01 enthält diese Commits.

API-Änderungen

  • Fügen Sie ArraySet einen Arraykonstruktor 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 freigegeben. Die Commits in 1.1.0 finden Sie hier.

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

Neue Funktionen

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

API-Änderungen

  • putIfAbsent zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772608)
  • getOrDefault zu SimpleArrayMap hinzufügen (aosp/772607)
  • Fügen Sie LongSparseArray, SimpleArrayMap und SparseArrayCompat die Funktion remove mit zwei Argumenten hinzu. Die entsprechenden KTX-Erweiterungen für diese Funktion werden eingestellt. (aosp/772482)
  • replace mit zwei Argumenten zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772483)
  • replace mit drei Argumenten zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772484)
  • Redundante delete-Methoden werden eingestellt. 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, damit der interne globale Cache von Arrays auf SimpleArrayMap.class anstelle von ArrayMap.class synchronisiert wird. So können Sie sicher sein, dass ArrayMap mithilfe von Tools zum Komprimieren 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 freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • Verwenden Sie eine effizientere Implementierung für die Funktionen contains und isNotEmpty im „collection-ktx“-Artefakt. (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 freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

  • Die Methode, bei der in den alpha03-Versionshinweisen der @RestrictTo-Wert geändert wurde, wurde entfernt. Sie wurde von keiner AndroidX-Bibliothek (aktuell oder in der Vergangenheit) verwendet und bot keine Funktionen, die in der öffentlichen API fehlten.

Fehlerkorrekturen

  • Ändern Sie SimpleArrayMap, damit der interne globale Cache von Arrays auf SimpleArrayMap.class anstelle von ArrayMap.class synchronisiert wird. So können Sie ArrayMap mithilfe von Tools zum Komprimieren von Code entfernen, 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 Commits in dieser Version finden Sie hier.

API-Änderungen

  • Eine Methode auf ArraySet, die zuvor als @RestrictTo(LIBRARY_GROUP) gekennzeichnet war, wurde in @RestrictTo(LIBRARY_GROUP_PREFIX) geändert. Dies soll die bisherige Verwendung durch andere AndroidX-Bibliotheken unterstützen, die sich jetzt in anderen Maven-Gruppen-IDs befinden. Diese Methode wird entweder in 1.1.0-alpha04 veröffentlicht oder entfernt, da andere AndroidX-Bibliotheken keine speziellen APIs erhalten sollten, die andere Entwickler nicht haben.

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

  • Redundante delete-Methoden werden eingestellt. Die remove-Methoden bieten dieselbe API und Funktionalität wie die 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 LongSparseArray, SimpleArrayMap und SparseArrayCompat die Funktion remove mit zwei Argumenten hinzu. Die entsprechenden KTX-Erweiterungen für diese Funktion werden eingestellt. (aosp/772482)
  • replace mit zwei Argumenten zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772483)
  • replace mit drei Argumenten zu LongSparseArray, SimpleArrayMap und SparseArrayCompat hinzufügen (aosp/772484)