Sammlung
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.
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 Bereichs0..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 stattdessenIndexOutOfBounds
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 anScatterMap
,HashSet
und die primitiven streubasierten Sets (z.B.LongSet
). Die Methodeequals
war bereits anfällig für Rekursion undtoString
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 Sieremove()
vornext()
für einen Iterator der Sammlungenkeys
,values
oderentries
vonScatterMap.asMap()
oderScatterSet.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
undOrderedScatterSet
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
ancontainsKey
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ürLruCache
, der eine bessere Trefferquote bietet. (I50a17)- Die interne Darstellung von
packedValue
fürIntIntPair
undFloatFloatPair
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()
undrequired()
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)
- Ersetzen Sie Aufrufe von
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 mitMutableMap
& kartenähnlicher APIMutableScatterSet
&ScatterSet
– Klassen mitMutableSet
& Set-ähnlicher APIMutableObjectList
&ObjectList
– Klassen mitMutableList
& 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 inObjectList
falsch festgelegt wurden, was zu einem Absturz aufgrund vonIndexOutOfBoundsException
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 wieFloatFloatMap
ersetzt wird. - Konvertiert
removeIf
-Methoden für primitive Sammlungen wieMutableFloatFloatMap
in Inline-Methoden. So wird sichergestellt, dass die Lambda-Funktion fürremoveIf
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 mitMutableMap
& kartenähnlicher APIMutableScatterSet
&ScatterSet
– Klassen mitMutableSet
& Set-ähnlicher APIMutableObjectList
&ObjectList
– Klassen mitMutableList
& 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, dieMutableList<Int|Float|Long>
ähnelt. Es gibt auch die schreibgeschützte[Int|Float|Long]List
. Ganzzahlen können beispielsweise in einemIntList
gespeichert werden.Mutable[Int|Float|Long]Set
– Klassen mit einer API, dieMutableSet<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, dieMutable<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 einIntObjectMap<T>
. Eine Zuordnung mit einem langen Schlüssel und einem Gleitkommawert ist einLongFloatMap
. Es gibt keine Version mit dem NamenObjectObjectMap
, da diese vonScatterMap/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 voncollection:collection-ktx
zugunsten voncollection:collection
sicher entfernen, dacollection-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 jetztMutableCollections
anstelle vonAbstractMutableCollection
, um eine speichereffizientere Implementierung vontoArray
(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 jetztAbstractMutableCollection
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
, nichtT?
:ArraySet<T>.contains(null)
ArraySet<T>.add(null)
ArraySet<T>.remove(null)
- Die folgenden Aufrufe haben den Rückgabetyp
T?
, nichtT!
: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()
verwendenset.toArray(array)
–set.forEachIndexed(array::set)
verwenden
- Die folgenden Aufrufe haben den Argumenttyp
- 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 vonSparseArrayCompat
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)
- Die paketprivaten APIs
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älschlicherweisenull
für nicht initialisierte Aufrufe außerhalb des Bereichs vonsize()
, 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 SieentrySet().toArray()
,remove()
,removeAll()
undretainAll()
implementieren und die Implementierung vonentrySet().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 SieentrySet().toArray()
,remove()
,removeAll()
undretainAll()
implementieren und die Implementierung vonentrySet().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
undisNotEmpty
im Artefakt „collection-ktx“. (aosp/866529)
API-Änderungen
putIfAbsent
zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772608)getOrDefault
zuSimpleArrayMap
hinzufügen (aosp/772607)- Fügen Sie
remove
mit zwei Argumenten zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzu. Die entsprechenden KTX-Erweiterungen für diese Funktion werden eingestellt. (aosp/772482) - Zwei Argumente für
replace
inLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772483) - Das Argument
replace
mit drei Argumenten wirdLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzugefügt (aosp/772484). - Stellen Sie die Unterstützung für redundante
delete
-Methoden ein. Dieremove
-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 aufSimpleArrayMap.class
anstelle vonArrayMap.class
zu synchronisieren. So wird sichergestellt, dassArrayMap
von Tools zum Verkleinern von Code entfernt werden kann, wenn Sie nurSimpleArrayMap
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
undisNotEmpty
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 aufSimpleArrayMap.class
anstelle vonArrayMap.class
zu synchronisieren. So wird sichergestellt, dassArrayMap
von Tools zum Verkleinern von Code entfernt werden kann, wenn Sie nurSimpleArrayMap
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. Dieremove
-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
zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772608)getOrDefault
zuSimpleArrayMap
hinzufügen (aosp/772607)- Fügen Sie
remove
mit zwei Argumenten zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzu. Die entsprechenden KTX-Erweiterungen für diese Funktion werden eingestellt. (aosp/772482) - Zwei Argumente für
replace
inLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772483) - Das Argument
replace
mit drei Argumenten wirdLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzugefügt (aosp/772484).