Collection
| Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
|---|---|---|---|---|
| 27 août 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
Déclarer des dépendances
Pour ajouter une dépendance à Collection, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances des artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou module :
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") }
Pour en savoir plus sur les dépendances, consultez la page Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.6
Version 1.6.0-alpha01
27 août 2025
Publication d'androidx.collection:collection-*:1.6.0-alpha01. La version 1.6.0-alpha01 contient ces commits.
Modifications apportées à l'API
- Les projets publiés avec Kotlin 2.0 nécessitent KGP 2.0.0 ou version ultérieure pour être utilisés (Idb6b5).
Correction de bugs
- Auparavant,
SparseArrayCompatrenvoyaitnullpour valueAt etkeyAtlorsqu'un index situé dans la plage allouée, mais en dehors de la plage insérée0..size -1, était transmis. Comme indiqué dans la documentation, ce comportement n'a jamais été prévu et se situe en dehors de la plage d'entrée valide. Cette modification corrige ce comportement en générant plutôtIndexOutOfBoundslorsqu'un index non valide est transmis. (I68453)
Contribution externe
Merci à Jake Wharton pour les contributions suivantes :
- Alignez le comportement de
joinToStringsur les collections de plate-forme en ajoutant un séparateur avant et le suffixe après l'indicateur de troncature lorsque vous limitez les éléments inclus. (I1b7e8) ScatterSet.hashCodene protège plus contre la récursivité (c'est-à-dire l'ensemble qui est ajouté à lui-même). Son comportement est ainsi aligné surScatterMap,HashSetet les ensembles primitifs basés sur la dispersion (par exemple,LongSet). Notez que la méthodeequalsétait déjà sujette à la récursivité et quetoStrings'en défend, deux comportements qui s'alignent sur les autres collections. (I9c84a)- La fonction
ScatterSet.retainAllest désormais intégrée pour éviter de créer une instance lambda. (Ifa4b7) ScatterSet.hashCoden'utilise plus sa capacité dans le calcul du hachage, ce qui garantit que des contenus égaux, mais avec des capacités différentes, produisent toujours la même valeur. (Ic863b)IllegalStateExceptionest désormais généré si vous appelezremove()avantnext()sur un itérateur des collectionskeys,valuesouentriesdeScatterMap.asMap()ouScatterSet.asSet(). Son comportement est ainsi aligné sur celui des cartes et des ensembles standards. (I71694)
Version 1.5
Version 1.5.0
12 mars 2025
Publication d'androidx.collection:collection-*:1.5.0. La version 1.5.0 contient ces commits.
Version 1.5.0-rc01
26 février 2025
Publication d'androidx.collection:collection-*:1.5.0-rc01. La version 1.5.0-rc01 contient ces commits.
Version 1.5.0-beta03
29 janvier 2025
Publication d'androidx.collection:collection-*:1.5.0-beta03. La version 1.5.0-beta03 contient ces commits.
Version 1.5.0-beta02
15 janvier 2025
Publication d'androidx.collection:collection-*:1.5.0-beta02. La version 1.5.0-beta02 contient ces commits.
Version 1.5.0-beta01
11 décembre 2024
Publication d'androidx.collection:collection-*:1.5.0-beta01. La version 1.5.0-beta01 contient ces commits.
Modifications apportées à l'API
- Ajout de la prise en charge de la cible KMP
watchosDeviceArm64et de la cible kotlin 1.9 (Icf15d, b/364652024)
Version 1.5.0-alpha06
13 novembre 2024
Publication d'androidx.collection:collection-*:1.5.0-alpha06. La version 1.5.0-alpha06 contient ces commits.
Correction de bugs
- Correction d'un plantage qui pouvait se produire dans
SieveCacheetOrderedScatterSetlors de l'ajout de nombreux éléments entraînant des collisions de clés répétées. (Iaaf3d, b/375607736) - Ajoutez la cible wasm à la bibliothèque de collecte. (I66fe3, b/352722444)
Version 1.5.0-alpha05
30 octobre 2024
Publication d'androidx.collection:collection-*:1.5.0-alpha05. La version 1.5.0-alpha05 contient ces commits.
Version 1.5.0-alpha04
16 octobre 2024
Publication d'androidx.collection:collection-*:1.5.0-alpha04. La version 1.5.0-alpha04 contient ces commits.
Version 1.5.0-alpha03
2 octobre 2024
Publication d'androidx.collection:collection-*:1.5.0-alpha03. La version 1.5.0-alpha03 contient ces commits.
Modifications apportées à l'API
- Mise à jour de la version de Kotlin vers la version 1.9 (I1a14c)
Contribution externe
- Avancez de
containsàcontainsKey. Merci, Jake Wharton ! (I9362b) - Ajoutez des générateurs de conteneurs pour les collections spécialisées dans les scalaires. Merci, Jake Wharton ! (I13179)
Version 1.5.0-alpha02
18 septembre 2024
Publication d'androidx.collection:collection-*:1.5.0-alpha02. La version 1.5.0-alpha02 contient ces commits.
Modifications apportées à l'API
- Ajout de la compatibilité avec la plate-forme cible
watchosDeviceArm64. (I1cc04, b/364652024)
Version 1.5.0-alpha01
4 septembre 2024
Publication d'androidx.collection:collection-*:1.5.0-alpha01. La version 1.5.0-alpha01 contient ces commits.
Modifications apportées à l'API
OrderedScatterSetest une nouvelle collection ordonnée sans allocation (Ic4178).SieveCacheest un nouveau remplacement sans allocation pourLruCachequi offre de meilleures caractéristiques de taux de réussite. (I50a17)- Exposition de la représentation interne
packedValuepourIntIntPairetFloatFloatPair. (Ifeb75, b/331853566) - Ajout de l'accès au tableau de contenu dans les collections de listes. (I899d5, b/333903173)
- Ajoutez
DoubleList, une structure de données de type liste optimisée pour les valeurs Double. (Ia10d1, b/315127635)
Correction de bugs
- La bibliothèque Collections passe à Kotlin 1.9 (I0782f)
- Optimisez de nombreuses collections pour plus d'efficacité. (Ic0566)
Version 1.4
Version 1.4.5
30 octobre 2024
Publication d'androidx.collection:collection-*:1.4.5. La version 1.4.5 contient ces commits.
Version 1.4.4
18 septembre 2024
Publication d'androidx.collection:collection-*:1.4.4. La version 1.4.4 contient ces commits.
Correction de bugs
- Solution de contournement
ArrayIndexOutOfBoundslors du tri d'une collection vide. (I65245)
Version 1.4.3
7 août 2024
Publication d'androidx.collection:collection-*:1.4.3. La version 1.4.3 contient ces commits.
Correction de bugs
- Correction d'une corruption qui pouvait se produire dans
ScatterMap,ScatterSetet leurs variantes primitives. (I38a4a, b/352560465) - Optimisations des performances. En particulier :
- Remplacez les appels vers
check()etrequired()par des variantes qui n'insèrent pas les exceptions. Cela réduit la taille binaire finale et, plus important encore, soulage un peu la pression du cache d'instructions. - Amélioration de
removeDeletedMarkers()dans la famille de collections "scatter". La nouvelle version efface les repères supprimés par groupes de huit et évite ainsi les écritures plus coûteuses. (Ic0566)
- Remplacez les appels vers
Version 1.4.2
24 juillet 2024
Publication d'androidx.collection:collection-*:1.4.2. La version 1.4.2 contient ces commits.
Nouvelles fonctionnalités
- Inclut des cibles Kotlin Multiplatform supplémentaires :
watchos,tvos,linuxArm64. (b/352543988)
Version 1.4.1
10 juillet 2024
Publication d'androidx.collection:collection-*:1.4.1. La version 1.4.1 contient ces commits.
Correction de bugs
- Supprimez les marqueurs de suppression de Map/Set lors du redimensionnement. (7a996c5, b/345960092)
Version 1.4.0
24 janvier 2024
Publication d'androidx.collection:collection-*:1.4.0. Liste des commits de la version 1.4.0
Changements importants depuis la version 1.3.0
De nouvelles collections à haute efficacité ont été ajoutées pour stocker les primitives sans boxing :
MutableScatterMapetScatterMap: classes avecMutableMapet API de type MapMutableScatterSetetScatterSet: classes avecMutableSetet API de type SetMutableObjectListetObjectList: classes avecMutableListet API de type liste
Par exemple, une carte avec une clé entière et une valeur de type référence est une IntObjectMap<T>. Un mappage avec une clé longue et une valeur flottante est un LongFloatMap. Il n'existe pas de version nommée ObjectObjectMap, car elle est couverte par ScatterMap/MutableScatterMap.
Version 1.4.0-rc01
10 janvier 2024
Publication d'androidx.collection:collection-*:1.4.0-rc01 sans aucune modification. Liste des commits de la version 1.4.0-rc01
Version 1.4.0-beta02
29 novembre 2023
Publication d'androidx.collection:collection-*:1.4.0-beta02. Liste des commits de la version 1.4.0-beta02
Nouvelles fonctionnalités
- Amélioration des performances de
FloatFloatPair. (If5537)
Correction de bugs
- L'itérateur
ScatterMap.asMap()renvoie désormais de nouvelles instances (I28932, b/310365754).
Version 1.4.0-beta01
15 novembre 2023
Publication d'androidx.collection:collection-*:1.4.0-beta01. Liste des commits de la version 1.4.0-beta01
Correction de bugs
- Correction de
ListIteratorqui définissait incorrectement des valeurs dansObjectList, ce qui pouvait entraîner un plantage en raison deIndexOutOfBoundsException. (I3bd8a, b/307049391)
Version 1.4.0-alpha02
18 octobre 2023
Publication d'androidx.collection:collection-*:1.4.0-alpha02. Liste des commits de la version 1.4.0-alpha02
Modifications apportées à l'API
- Ajout d'une surcharge pour
putqui renvoie la valeur précédente lorsqu'elle est remplacée par toutes les collections primitives, telles queFloatFloatMap. - Convertit les méthodes
removeIfsur les collections primitives, telles queMutableFloatFloatMap, en méthodes intégrées. Cela garantit que le lambda pourremoveIfn'est pas alloué.
Version 1.4.0-alpha01
4 octobre 2023
Publication d'androidx.collection:collection-*:1.4.0-alpha01. Liste des commits de la version 1.4.0-alpha01.
Nouvelles fonctionnalités
De nouvelles collections à haute efficacité ont été ajoutées. Elles présentent une faible surcharge d'allocation et de hautes performances :
MutableScatterMapetScatterMap: classes avecMutableMapet API de type MapMutableScatterSetetScatterSet: classes avecMutableSetet API de type SetMutableObjectListetObjectList: classes avecMutableListet API de type liste
De nouvelles collections à haute efficacité ont été ajoutées pour stocker les primitives sans boxing :
Mutable[Int|Float|Long]List: classes avec une API de typeMutableList<Int|Float|Long>. La version en lecture seule[Int|Float|Long]Listexiste également. Par exemple, les entiers peuvent être conservés dans unIntList.Mutable[Int|Float|Long]Set: classes avec une API de typeMutableSet<Int|Float|Long>. La version en lecture seule[Int|Float|Long]Setexiste également. Par exemple, les entiers peuvent être conservés dans un IntSet.Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map: classes avec une API de typeMutable<Int|Float|Long,T, Int|Float|Long|T>. La version en lecture seule[Int|Float|Long|Object][Int|Float|Long|Object]Mapexiste également. Par exemple, une carte avec une clé entière et une valeur de type référence est uneIntObjectMap<T>. Un mappage avec une clé longue et une valeur flottante est unLongFloatMap. Il n'existe pas de version nomméeObjectObjectMap, car elle est couverte parScatterMap/MutableScatterMap.
Version 1.3.0
Version 1.3.0
4 octobre 2023
Publication d'androidx.collection:collection-*:1.3.0. Liste des commits de la version 1.3.0
Changements importants depuis la version 1.2.0
- Vous pouvez désormais utiliser des collections dans les projets Kotlin Multiplatform. Notez que les cibles non Android des Collections sont toujours expérimentales, mais nous avons décidé de fusionner les versions pour permettre aux développeurs de les essayer plus facilement.
- Toutes les sources ont été migrées vers Kotlin. Dans le cadre de cette modification, de nombreuses API sont désormais correctement typées pour la nullité et quelques membres privés de package sont devenus
internal. Vous trouverez la liste exacte des modifications dans les notes de version mineures pour la version 1.3.x ci-dessous. - En plus de la migration Kotlin,
collection-ktxa été fusionné avec l'artefact de collection principal. Vous pouvez supprimer en toute sécurité toutes les dépendances surcollection:collection-ktxau profit decollection:collection, carcollection-ktxest désormais vide.
Version 1.3.0-rc01
6 septembre 2023
Publication d'androidx.collection:collection-*:1.3.0-rc01 sans aucune modification. Liste des commits de la version 1.3.0-rc01
Version 1.3.0-beta01
9 août 2023
Publication d'androidx.collection:collection-*:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01
Version 1.3.0-alpha04
24 mars 2023
Publication d'androidx.collection:collection-*:1.3.0-alpha04.
Correction de bugs
- Suppression des contraintes de dépendance des artefacts Maven pour contourner un problème de compilation dans les cibles Kotlin/Native (b/274786186, KT-57531).
Version 1.3.0-alpha03
22 mars 2023
Publication d'androidx.collection:collection-*:1.3.0-alpha03. Liste des commits de la version 1.3.0-alpha03
Nouvelles fonctionnalités
- Vous pouvez désormais utiliser des collections dans les projets KMM. Notez que les cibles non Android des Collections sont toujours expérimentales, mais nous avons décidé de fusionner les versions pour permettre aux développeurs de les essayer plus facilement.
Modifications apportées à l'API
ArraySetimplémente désormaisMutableCollectionsau lieu deAbstractMutableCollectionpour permettre une implémentation plus efficace de la mémoire detoArray(I1ac32).
Correction de bugs
ArraySet.toArrayn'est désormais disponible que sur la JVM, car il n'a toujours été inclus que pour la compatibilité avec Java. Les utilisateurs de Kotlin doivent généralement utiliser les assistants.toTypedArrayde la bibliothèque standard, qui offrent exactement la même fonctionnalité avec une sécurité de type supplémentaire. (I2c59b)
Version 1.3.0-alpha02
27 juillet 2022
Publication d'androidx.collection:collection:1.3.0-alpha02 et d'androidx.collection:collection-ktx:1.3.0-alpha02. Liste des commits de la version 1.3.0-alpha02
Modifications apportées à l'API
- Disponibilité de
SparseArrayCompatpour les plates-formes autres que jvm à partir de l'artefact commun (Ic9bd0, b/219589118, b/228347315). - Disponibilité de
CircularIntArraypour les plates-formes autres que jvm à partir de l'artefact commun (I3d8ef, b/228344943). - Disponibilité de
LongSparseArraypour les plates-formes autres que jvm à partir de l'artefact commun (I73149, b/228347315).
Version 1.3.0-alpha01
29 juin 2022
Publication d'androidx.collection:collection:1.3.0-alpha01 et d'androidx.collection:collection-ktx:1.3.0-alpha01. Liste des commits de la version 1.3.0-alpha01.
Nouvelles fonctionnalités
- Migration des extensions
collection-ktxversandroidx.collection:collection, le principal artefact des collections. Ce changement rend les extensions -ktx préexistantes accessibles aux utilisateurs du Kotlin sans avoir besoin de la dépendance -ktx, tout en conservant la compatibilité pour les utilisateurs existants. Il n'est plus utile de conserver ces extensions dans un artefact -ktx distinct, car l'artefact principal a été déplacé vers Kotlin (I6eef2).
Modifications apportées à l'API
- Extension d'
AbstractMutableCollectionparArraySet, qui n'implémente plus directement l'interface Collection (If6da0, b/230860589). - Conversion d'
ArraySeten Kotlin. En raison d'une rédaction plus stricte, il est possible que certains appels Kotlin ne soient plus compilés (Id68c1, b/230860589).- Remplacement du type d'argument
T?parTpour les appels suivants :ArraySet<T>.contains(null)ArraySet<T>.add(null)ArraySet<T>.remove(null)
- Remplacement du type renvoyé
T!parT?pour les appels suivants :ArraySet<T?>.valueAt(n)ArraySet<T?>.removeAt(n)ArraySet<T?>().iterator().next()
- Les appels suivants ne sont plus possibles à partir du Kotlin :
set.toArray(): utilisezset.toTypedArray()set.toArray(array): utilisezset.forEachIndexed(array::set)
- Remplacement du type d'argument
- Fusion du constructeur surchargé de
SparseArrayCompaten tant qu'argument facultatif pour les utilisateurs du Kotlin (If8407, b/227474719). - Suppression de la syntaxe d'opérateur pour
SparseArrayCompat.get(key, defaultValue).. Notez que la syntaxe d'opérateur pour.get(key)est toujours autorisée, mais la surface d'API deSparseArrayCompatcorrespond mieux aux autres classes de cette bibliothèque (I9a38d). - Migration des extensions
LongSparseArrayvers l'artefact principal, androidx.collection:collection. Ce changement rend les extensions -ktx préexistantes accessibles aux utilisateurs du Kotlin sans avoir besoin de la dépendance -ktx, tout en conservant la compatibilité pour les utilisateurs existants. Il n'est plus utile de conserver ces extensions dans un artefact -ktx distinct, car l'artefact principal a été déplacé vers Kotlin (I8659a). - Conversion de
LongSparseArrayen Kotlin. Cette modification ajoute une valeur nulle à ses types, le rendant ainsi compatible avec le binaire, mais cela peut entraîner des incompatibilités de source. Notamment, *.isEmptyn'est plus accessible en tant que propriété, mais en tant qu'appel de fonction en Kotlin :.isEmpty()(Idfd0f). - Conversion de
SimpleArrayMapen Kotlin. Ce changement introduit quelques modifications incompatibles, résultant de l'interopérabilité de Java avec le Kotlin et de la possibilité de définir correctement la valeur nulle des types dans la source.- Privatisation des API privées
.mSize,.mArray,.mHashes,.indexOf(),.indexOfNull()et.indexOfValue(). Techniquement, il s'agit d'une modification incompatible avec le binaire, mais elle reflète la visibilité prévue de ces champs et il n'est pas possible de s'en rapprocher davantage en Kotlin, qui ne permet pas de spécifier une visibilité privée pour le paquet. - Correction de la valeur nulle de certains types pour les méthodes
.getOrDefault,.keyAt,.valueAt,.setValueAt,.put,.putIfAbsent,.removeAtet.replace. - Pour les utilisateurs de Kotlin,
.isEmpty()n'est désormais disponible qu'en tant que fonction plutôt que via l'accès à la propriété (I271b7, b/182813986).
- Privatisation des API privées
Conversion de
CircularArrayen Kotlin. Changements notables :- Correction et remplacement de la valeur nulle de ses valeurs génériques par une valeur non nulle, qui était auparavant impossible à déclarer, mais qui était appliquée dans toutes ses API publiques.
- En raison de l'interopérabilité de Java avec le Kotlin, il était auparavant possible d'accéder à certaines méthodes à la fois en tant que propriétés ou fonctions. Cependant, pour réduire la duplication tout en conservant la compatibilité binaire, il était nécessaire de les supprimer, ce qui n'est pas compatible avec la source. Les appels concernés sont :
.isEmpty,.getLast()et.getFirst()(Ifffac).
Conversion de
CircularIntArrayen Kotlin. En raison de l'interopérabilité de Java avec le Kotlin, il était auparavant possible d'accéder à certaines méthodes à la fois en tant que propriétés ou fonctions. Cependant, pour réduire la duplication tout en conservant la compatibilité binaire, il était nécessaire de les supprimer, ce qui n'est pas compatible avec la source. Les appels concernés sont :.isEmpty,.getLast()et.getFirst()(Ie36ce).Conversion de
LruCacheen Kotlin (Ia2f19).Conversion de
SparseArrayCompaten Kotlin (If6fe8).Le comportement de
SparseArrayCompat.valueAt()a été légèrement modifié. Il ne renvoie plusnullde manière erronée pour les appels non initialisés hors des limites desize(), mais dans la capacité initiale fournie.Cette modification introduit également une valeur nulle pour certains types précédemment manquants.
.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
1er décembre 2021
Publication d'androidx.collection:collection:1.2.0 et d'androidx.collection:collection-ktx:1.2.0. Liste des commits de la version 1.2.0
Changements importants depuis la version 1.1.0
- Ajout d'un constructeur de tableau à
ArraySet(Id7f19). - Mise en conformité avec l'API d'
entrySet()en implémentantentrySet().toArray(),remove(),removeAll()etretainAll(), et en supprimant l'implémentation d'entrySet().addAll()(I5d505).
Version 1.2.0-rc01
17 novembre 2021
Publication d'androidx.collection:collection:1.2.0-rc01 et d'androidx.collection:collection-ktx:1.2.0-rc01. Liste des commits de la version 1.2.0-rc01.
Modifications apportées à l'API
- Aucun changement par rapport à la version bêta précédente.
Version 1.2.0-beta01
13 octobre 2021
Publication d'androidx.collection:collection:1.2.0-beta01 et d'androidx.collection:collection-ktx:1.2.0-beta01. Liste des commits de la version 1.2.0-beta01
Corrections de bugs
- Mise en conformité avec l'API d'
entrySet()en implémentantentrySet().toArray(),remove(),removeAll()etretainAll(), et en supprimant l'implémentation d'entrySet().addAll()(I5d505).
Version 1.2.0-alpha01
16 décembre 2020
Publication d'androidx.collection:collection:1.2.0-alpha01 et d'androidx.collection:collection-ktx:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01
Modifications apportées à l'API
- Ajout d'un constructeur de tableau à
ArraySet(Id7f19).
Version 1.1.0
Version 1.1.0
5 juin 2019
Publication d'androidx.collection:collection:1.1.0 et d'androidx.collection:collection-ktx:1.1.0. Pour consulter les commits de la version 1.1.0, cliquez ici.
Vous trouverez ci-dessous un récapitulatif des différences entre la version 1.0.0 et la version 1.1.0 :
Nouvelles fonctionnalités
- Implémentation plus efficace pour les fonctions
containsetisNotEmptydans l'artefact "collection-ktx" (aosp/866529).
Modifications apportées à l'API
- Ajout de
putIfAbsentàLongSparseArray,SimpleArrayMapetSparseArrayCompat(aosp/772608). - Ajout de
getOrDefaultàSimpleArrayMap(aosp/772607). - Ajout d'une méthode
removeà deux arguments àLongSparseArray,SimpleArrayMapetSparseArrayCompat. Abandon des extensions KTX de cette fonctionnalité (aosp/772482). - Ajout d'une méthode
replaceà deux arguments àLongSparseArray,SimpleArrayMapetSparseArrayCompat(aosp/772483). - Ajout d'une méthode
replaceà trois arguments àLongSparseArray,SimpleArrayMapetSparseArrayCompat(aosp/772484). - Abandon des méthodes
deleteredondantes. La méthoderemoveoffre la même API et les mêmes fonctionnalités que l'API utilisée par les Maps non spécialisées (aosp/866053).
Corrections de bugs
- Modification de
SimpleArrayMappour synchroniser son cache global interne de tableaux surSimpleArrayMap.classplutôt que surArrayMap.class. Ainsi, si vous n'utilisez queSimpleArrayMap,ArrayMappeut être supprimé à l'aide d'outils de minification du code (aosp/934557).
Version 1.1.0-rc01
7 mai 2019
Publication d'androidx.collection:collection:1.1.0-rc01 et d'androidx.collection:collection-ktx:1.1.0-rc01. Les commits inclus dans cette version sont disponibles sur cette page.
Nouvelles fonctionnalités
- Implémentation plus efficace pour les fonctions
containsetisNotEmptydans l'artefact "collection-ktx" (aosp/866529).
Version 1.1.0-beta01
3 avril 2019
Publication d'androidx.collection:collection:1.1.0-beta01 et d'androidx.collection:collection-ktx:1.1.0-beta01. Les commits inclus dans cette version sont disponibles sur cette page.
Modifications apportées à l'API
- Suppression de la méthode mentionnée dans les notes de version alpha03 indiquant la modification de sa valeur
@RestrictTo. Elle n'était utilisée par aucune bibliothèque AndroidX (actuellement ou par le passé) et ne proposait aucune fonctionnalité qui manquait dans l'API publique.
Corrections de bugs
- Modification de
SimpleArrayMappour synchroniser son cache global interne de tableaux surSimpleArrayMap.classplutôt que surArrayMap.class. Ainsi, si vous n'utilisez queSimpleArrayMap,ArrayMappeut être supprimé à l'aide d'outils de minification du code (aosp/934557).
Version 1.1.0-alpha03
13 mars 2019
Publication d'androidx.collection:collection:1.0.0-alpha03 et d'androidx.collection:collection-ktx:1.0.0-alpha03.
La liste complète des commits inclus dans cette version est disponible sur cette page.
Modifications apportées à l'API
- Remplacement du marquage
@RestrictTo(LIBRARY_GROUP)d'une méthode surArraySetpar@RestrictTo(LIBRARY_GROUP_PREFIX)pour prendre en charge l'utilisation historique par d'autres bibliothèques AndroidX se trouvant désormais dans des ID de groupe Maven différents. Cette méthode sera soit rendue publique, soit supprimée dans la version 1.1.0-alpha04, car les autres bibliothèques AndroidX ne doivent pas obtenir des API spéciales auxquelles d'autres développeurs n'ont pas accès.
Version 1.1.0-alpha02
30 janvier 2019
Publication d'androidx.collection:collection 1.1.0-alpha02 et d'androidx.collection:collection-ktx 1.1.0-alpha02.
Modifications apportées à l'API
- Abandon des méthodes
deleteredondantes. Les méthodesremoveoffrent la même API et les mêmes fonctionnalités, et correspondent à l'API utilisée par les Maps non spécialisées (aosp/866053).
Version 1.1.0-alpha01
3 décembre 2018
Modifications apportées à l'API
- Ajout de
putIfAbsentàLongSparseArray,SimpleArrayMapetSparseArrayCompat(aosp/772608). - Ajout de
getOrDefaultàSimpleArrayMap(aosp/772607). - Ajout d'une méthode
removeà deux arguments àLongSparseArray,SimpleArrayMapetSparseArrayCompat. Abandon des extensions KTX de cette fonctionnalité (aosp/772482). - Ajout d'une méthode
replaceà deux arguments àLongSparseArray,SimpleArrayMapetSparseArrayCompat(aosp/772483). - Ajout d'une méthode
replaceà trois arguments àLongSparseArray,SimpleArrayMapetSparseArrayCompat(aosp/772484).