Raccolta
Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha |
---|---|---|---|---|
27 agosto 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
Dichiara le dipendenze
Per aggiungere una dipendenza da Collection, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
la tua app o il tuo modulo:
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") }
Per saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.6
Versione 1.6.0-alpha01
27 agosto 2025
androidx.collection:collection-*:1.6.0-alpha01
viene rilasciata. La versione 1.6.0-alpha01 contiene questi commit.
Modifiche alle API
- I progetti rilasciati con Kotlin 2.0 richiedono l'utilizzo di KGP 2.0.0 o versioni successive (Idb6b5)
Correzioni di bug
- In precedenza,
SparseArrayCompat
restituivanull
per valueAt ekeyAt
quando veniva passato un indice compreso nell'intervallo allocato, ma al di fuori dell'intervallo inserito0..size -1
. Come documentato, questo comportamento non è mai stato previsto e si trova al di fuori dell'intervallo di input valido. Questa modifica corregge il comportamento in modo che venga generato un erroreIndexOutOfBounds
quando viene passato un indice non valido. (I68453)
Contributo esterno
Grazie a Jake Wharton per i seguenti contributi:
- Allinea il comportamento di
joinToString
alle raccolte della piattaforma aggiungendo un separatore prima e il suffisso dopo l'indicatore di troncamento quando limiti gli elementi inclusi. (I1b7e8) ScatterSet.hashCode
non protegge più dalla ricorsione (ovvero l'insieme viene aggiunto a se stesso). In questo modo, il suo comportamento è in linea conScatterMap
,HashSet
e i set basati sulla dispersione primitiva (ad es.LongSet
). Tieni presente che il metodoequals
era già soggetto a ricorsione etoString
lo protegge, entrambi i comportamenti che si allineano alle altre raccolte. (I9c84a)- La funzione
ScatterSet.retainAll
è ora incorporata per evitare la creazione di un'istanza lambda. (Ifa4b7) ScatterSet.hashCode
non utilizza più la sua capacità nel calcolo dell'hash, garantendo che contenuti uguali ma capacità diverse producano comunque lo stesso valore. (Ic863b)- Ora viene generata l'eccezione
IllegalStateException
se chiamiremove()
prima dinext()
su un iteratore delle raccoltekeys
,values
oentries
diScatterMap.asMap()
oScatterSet.asSet()
. In questo modo, il suo comportamento viene allineato a quello della mappa e del set regolari. (I71694)
Versione 1.5
Versione 1.5.0
12 marzo 2025
androidx.collection:collection-*:1.5.0
viene rilasciata. La versione 1.5.0 contiene questi commit.
Versione 1.5.0-rc01
26 febbraio 2025
androidx.collection:collection-*:1.5.0-rc01
viene rilasciata. La versione 1.5.0-rc01 contiene questi commit.
Versione 1.5.0-beta03
29 gennaio 2025
androidx.collection:collection-*:1.5.0-beta03
viene rilasciata. La versione 1.5.0-beta03 contiene questi commit.
Versione 1.5.0-beta02
15 gennaio 2025
androidx.collection:collection-*:1.5.0-beta02
viene rilasciata. La versione 1.5.0-beta02 contiene questi commit.
Versione 1.5.0-beta01
11 dicembre 2024
androidx.collection:collection-*:1.5.0-beta01
viene rilasciata. La versione 1.5.0-beta01 contiene questi commit.
Modifiche alle API
- Aggiunge il supporto per
watchosDeviceArm64
KMP target e target kotlin 1.9 (Icf15d, b/364652024)
Versione 1.5.0-alpha06
13 novembre 2024
androidx.collection:collection-*:1.5.0-alpha06
viene rilasciata. La versione 1.5.0-alpha06 contiene questi commit.
Correzioni di bug
- È stato corretto un arresto anomalo che poteva verificarsi in
SieveCache
eOrderedScatterSet
quando si aggiungevano numerosi elementi che causavano collisioni ripetute di chiavi. (Iaaf3d, b/375607736) - Aggiungi la destinazione wasm alla raccolta. (I66fe3, b/352722444)
Versione 1.5.0-alpha05
30 ottobre 2024
androidx.collection:collection-*:1.5.0-alpha05
viene rilasciata. La versione 1.5.0-alpha05 contiene questi commit.
Versione 1.5.0-alpha04
16 ottobre 2024
androidx.collection:collection-*:1.5.0-alpha04
viene rilasciata. La versione 1.5.0-alpha04 contiene questi commit.
Versione 1.5.0-alpha03
2 ottobre 2024
androidx.collection:collection-*:1.5.0-alpha03
viene rilasciata. La versione 1.5.0-alpha03 contiene questi commit.
Modifiche alle API
- Aggiornamento della versione di Kotlin alla 1.9 (I1a14c)
Contributo esterno
- Avanti di
contains
fino acontainsKey
. Grazie Jake Wharton. (I9362b) - Aggiungi generatori di contenitori per raccolte specializzate scalari. Grazie Jake Wharton. (I13179)
Versione 1.5.0-alpha02
18 settembre 2024
androidx.collection:collection-*:1.5.0-alpha02
viene rilasciata. La versione 1.5.0-alpha02 contiene questi commit.
Modifiche alle API
- Aggiunge il supporto per il target della piattaforma
watchosDeviceArm64
. (I1cc04, b/364652024)
Versione 1.5.0-alpha01
4 settembre 2024
androidx.collection:collection-*:1.5.0-alpha01
viene rilasciata. La versione 1.5.0-alpha01 contiene questi commit.
Modifiche alle API
OrderedScatterSet
è una nuova raccolta senza allocazione ordinata (Ic4178)SieveCache
è un nuovo sostituto senza allocazione diLruCache
che offre caratteristiche di hit ratio migliori. (I50a17)- È stata esposta la rappresentazione interna di
packedValue
perIntIntPair
eFloatFloatPair
. (Ifeb75, b/331853566) - Aggiunta dell'accesso all'array di contenuti nelle raccolte di elenchi. (I899d5, b/333903173)
- Aggiungi
DoubleList
, una struttura di dati simile a un elenco ottimizzata per i valori Double. (Ia10d1, b/315127635)
Correzioni di bug
- La libreria delle raccolte verrà spostata su Kotlin 1.9 (I0782f)
- Ottimizza molte delle raccolte per renderle più efficienti. (Ic0566)
Versione 1.4
Versione 1.4.5
30 ottobre 2024
androidx.collection:collection-*:1.4.5
viene rilasciata. La versione 1.4.5 contiene questi commit.
Versione 1.4.4
18 settembre 2024
androidx.collection:collection-*:1.4.4
viene rilasciata. La versione 1.4.4 contiene questi commit.
Correzioni di bug
- Soluzione alternativa
ArrayIndexOutOfBounds
quando ordini una raccolta vuota. (I65245)
Versione 1.4.3
7 agosto 2024
androidx.collection:collection-*:1.4.3
viene rilasciata. La versione 1.4.3 contiene questi commit.
Correzioni di bug
- È stata corretta una corruzione che poteva verificarsi in
ScatterMap
,ScatterSet
e nelle relative varianti primitive. (I38a4a, b/352560465) - Ottimizzazioni delle prestazioni. In particolare:
- Sostituisci le chiamate a
check()
erequired()
con varianti che non generano eccezioni inline. In questo modo si riducono le dimensioni del file binario finale e, soprattutto, si riduce un po' la pressione della cache istruzioni. - Miglioramento di
removeDeletedMarkers()
nella famiglia di raccolte "dispersione". La nuova versione cancella gli indicatori eliminati 8 alla volta e salta le scritture più costose durante il processo. (Ic0566)
- Sostituisci le chiamate a
Versione 1.4.2
24 luglio 2024
androidx.collection:collection-*:1.4.2
viene rilasciata. La versione 1.4.2 contiene questi commit.
Nuove funzionalità
- Include target multipiattaforma Kotlin aggiuntivi:
watchos
,tvos
,linuxArm64
. (b/352543988)
Versione 1.4.1
10 luglio 2024
androidx.collection:collection-*:1.4.1
viene rilasciata. La versione 1.4.1 contiene questi commit.
Correzioni di bug
- Rimuovi i segnaposto eliminati dalla mappa/dal set durante il ridimensionamento. (7a996c5, b/345960092)
Versione 1.4.0
24 gennaio 2024
androidx.collection:collection-*:1.4.0
viene rilasciata. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione 1.3.0
Sono state aggiunte nuove raccolte ad alta efficienza per l'archiviazione di primitive senza boxing:
MutableScatterMap
eScatterMap
: classi conMutableMap
e API simili a MapsMutableScatterSet
eScatterSet
: classi conMutableSet
e API simili a SetMutableObjectList
eObjectList
- Classi conMutableList
e API simili a elenchi
Ad esempio, una mappa con una chiave intera e un valore di tipo riferimento è un IntObjectMap<T>
. Una mappa con una chiave lunga e un valore float è un LongFloatMap
. Non esiste una versione con il nome ObjectObjectMap
perché è coperta da ScatterMap/MutableScatterMap
.
Versione 1.4.0-rc01
10 gennaio 2024
androidx.collection:collection-*:1.4.0-rc01
viene rilasciato senza modifiche. La versione 1.4.0-rc01 contiene questi commit.
Versione 1.4.0-beta02
29 novembre 2023
androidx.collection:collection-*:1.4.0-beta02
viene rilasciata. La versione 1.4.0-beta02 contiene questi commit.
Nuove funzionalità
- Prestazioni migliorate di
FloatFloatPair
. (If5537)
Correzioni di bug
- L'iteratore ora restituisce nuove istanze (I28932, b/310365754)
ScatterMap.asMap()
Versione 1.4.0-beta01
15 novembre 2023
androidx.collection:collection-*:1.4.0-beta01
viene rilasciata. La versione 1.4.0-beta01 contiene questi commit.
Correzioni di bug
- Correzione per
ListIterator
che imposta erroneamente i valori inObjectList
, il che potrebbe causare un arresto anomalo dovuto aIndexOutOfBoundsException
. (I3bd8a, b/307049391)
Versione 1.4.0-alpha02
18 ottobre 2023
androidx.collection:collection-*:1.4.0-alpha02
viene rilasciata. La versione 1.4.0-alpha02 contiene questi commit.
Modifiche alle API
- È stato aggiunto l'overload per
put
che restituisce il valore precedente quando viene sostituito a tutte le raccolte primitive, ad esempioFloatFloatMap
. - Converti i metodi
removeIf
nelle raccolte primitive, ad esempioMutableFloatFloatMap
, in incorporati. In questo modo, la lambda perremoveIf
non viene allocata.
Versione 1.4.0-alpha01
4 ottobre 2023
androidx.collection:collection-*:1.4.0-alpha01
viene rilasciata. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
Sono state aggiunte nuove raccolte ad alta efficienza con un basso overhead di allocazione e prestazioni elevate:
MutableScatterMap
eScatterMap
: classi conMutableMap
e API simili a MapsMutableScatterSet
eScatterSet
: classi conMutableSet
e API simili a SetMutableObjectList
eObjectList
- Classi conMutableList
e API simili a elenchi
Sono state aggiunte nuove raccolte ad alta efficienza per l'archiviazione di primitive senza boxing:
Mutable[Int|Float|Long]List
- Classi con API simili aMutableList<Int|Float|Long>
. Esiste anche la versione di sola lettura[Int|Float|Long]List
. Ad esempio, i numeri interi possono essere contenuti in unIntList
.Mutable[Int|Float|Long]Set
- Classi con API simili aMutableSet<Int|Float|Long>
. Esiste anche la versione di sola lettura[Int|Float|Long]Set
. Ad esempio, i numeri interi possono essere contenuti in un IntSet.Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map
- Classi con API simili aMutable<Int|Float|Long,T, Int|Float|Long|T>
. Esiste anche la versione di sola lettura[Int|Float|Long|Object][Int|Float|Long|Object]Map
. Ad esempio, una mappa con una chiave intera e un valore di tipo riferimento è unIntObjectMap<T>
. Una mappa con una chiave lunga e un valore float è unLongFloatMap
. Non esiste una versione con il nomeObjectObjectMap
perché è coperta daScatterMap/MutableScatterMap
.
Versione 1.3.0
Versione 1.3.0
4 ottobre 2023
androidx.collection:collection-*:1.3.0
viene rilasciata. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Ora puoi utilizzare le raccolte nei progetti Kotlin Multiplatform. Tieni presente che i target non Android delle raccolte sono ancora sperimentali, ma abbiamo deciso di unire le versioni per semplificare la prova da parte degli sviluppatori.
- Tutto il codice sorgente è stato migrato a Kotlin. Nell'ambito di questa modifica, molte API ora sono correttamente digitate per la nullità e alcuni membri privati del pacchetto sono diventati
internal
. Un elenco delle modifiche esatte è disponibile nelle note di rilascio secondarie per la versione 1.3.x riportate di seguito. - Oltre alla migrazione di Kotlin,
collection-ktx
è stato unito all'artefatto della raccolta principale. Puoi eliminare in sicurezza qualsiasi dipendenza dacollection:collection-ktx
a favore dicollection:collection
, poichécollection-ktx
è ora vuoto.
Versione 1.3.0-rc01
6 settembre 2023
androidx.collection:collection-*:1.3.0-rc01
viene rilasciato senza modifiche. La versione 1.3.0-rc01 contiene questi commit.
Versione 1.3.0-beta01
9 agosto 2023
androidx.collection:collection-*:1.3.0-beta01
viene rilasciata. La versione 1.3.0-beta01 contiene questi commit.
Versione 1.3.0-alpha04
24 marzo 2023
androidx.collection:collection-*:1.3.0-alpha04
viene rilasciata.
Correzioni di bug
- Sono stati rimossi i vincoli di dipendenza dagli artefatti Maven per risolvere un problema di build in Kotlin Native Targets (b/274786186, KT-57531).
Versione 1.3.0-alpha03
22 marzo 2023
androidx.collection:collection-*:1.3.0-alpha03
viene rilasciata. La versione 1.3.0-alpha03 contiene questi commit.
Nuove funzionalità
- Ora puoi utilizzare le raccolte nei progetti KMM. Tieni presente che i target non Android delle raccolte sono ancora sperimentali, ma abbiamo deciso di unire le versioni per semplificare la prova da parte degli sviluppatori.
Modifiche alle API
ArraySet
ora implementaMutableCollections
anzichéAbstractMutableCollection
per consentire un'implementazione più efficiente in termini di memoria ditoArray
(I1ac32)
Correzioni di bug
ArraySet.toArray
è ora disponibile solo su JVM, in quanto è sempre stato incluso solo per la compatibilità con Java. Gli utenti Kotlin in genere devono utilizzare gli helper.toTypedArray
di stdlib, che forniscono esattamente la stessa funzionalità con una maggiore sicurezza dei tipi. (I2c59b)
Versione 1.3.0-alpha02
27 luglio 2022
androidx.collection:collection:1.3.0-alpha02
e androidx.collection:collection-ktx:1.3.0-alpha02
vengono rilasciati. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
SparseArrayCompat
è ora disponibile per le piattaforme non JVM dall'artefatto comune (Ic9bd0, b/219589118, b/228347315)CircularIntArray
è ora disponibile per le piattaforme non JVM dall'artefatto comune (I3d8ef, b/228344943)LongSparseArray
è ora disponibile per le piattaforme non JVM dall'artefatto comune (I73149, b/228347315)
Versione 1.3.0-alpha01
29 giugno 2022
androidx.collection:collection:1.3.0-alpha01
e androidx.collection:collection-ktx:1.3.0-alpha01
vengono rilasciati. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
- Le estensioni
collection-ktx
sono state migrate nell'artefatto delle raccolte principali,androidx.collection:collection
. Questa modifica rende le estensioni -ktx preesistenti accessibili agli utenti Kotlin senza richiedere la dipendenza -ktx, mantenendo comunque la compatibilità per gli utenti esistenti. La manutenzione di queste estensioni in un artefatto -ktx separato non è più vantaggiosa, poiché l'artefatto principale è stato spostato su Kotlin. (I6eef2)
Modifiche alle API
ArraySet
ora estendeAbstractMutableCollection
e non implementa più direttamente l'interfaccia Collection. (If6da0, b/230860589)ArraySet
è stato convertito in Kotlin. A causa della digitazione più rigorosa, alcune chiamate Kotlin potrebbero non essere più compilate. (Id68c1, b/230860589)- Le seguenti chiamate hanno il tipo di argomento
T
, nonT?
:ArraySet<T>.contains(null)
ArraySet<T>.add(null)
ArraySet<T>.remove(null)
- Le seguenti chiamate hanno il tipo restituito
T?
, nonT!
:ArraySet<T?>.valueAt(n)
ArraySet<T?>.removeAt(n)
ArraySet<T?>().iterator().next()
- Le seguenti chiamate non sono più possibili da Kotlin:
set.toArray()
- useset.toTypedArray()
set.toArray(array)
- useset.forEachIndexed(array::set)
- Le seguenti chiamate hanno il tipo di argomento
- Combina il costruttore sovraccarico per
SparseArrayCompat
come argomento facoltativo per gli utenti Kotlin. (If8407, b/227474719) - Rimuovi la sintassi dell'operatore per
SparseArrayCompat.get(key, defaultValue).
. Tieni presente che ciò consente comunque la sintassi dell'operatore per.get(key)
, ma allinea meglio la superficie dell'API diSparseArrayCompat
con le altre classi di questa libreria. (I9a38d) - Esegui la migrazione delle estensioni
LongSparseArray
nell'artefatto principale, androidx.collection:collection. Questa modifica rende le estensioni -ktx preesistenti accessibili agli utenti Kotlin senza richiedere la dipendenza -ktx, mantenendo comunque la compatibilità per gli utenti esistenti. La manutenzione di queste estensioni in un artefatto -ktx separato non è più vantaggiosa, poiché l'artefatto principale è stato spostato su Kotlin. (I8659a) - Converti
LongSparseArray
in Kotlin. Questa modifica aggiunge l'annullabilità esplicita ai suoi tipi, il che è una modifica compatibile a livello binario, ma potrebbe causare incompatibilità a livello di codice sorgente. In particolare: *.isEmpty
non è più accessibile come proprietà, ma deve essere accessibile come chiamata di funzione in Kotlin -.isEmpty()
(Idfd0f) - Converti
SimpleArrayMap
in Kotlin. Questa modifica introduce alcune modifiche incompatibili, a causa dell'interoperabilità Java-Kotlin e della possibilità di definire correttamente la nullità dei tipi nell'origine.- Le API private del pacchetto,
.mSize
,.mArray
,.mHashes
,.indexOf()
,.indexOfNull()
e.indexOfValue()
, sono state rese private. Tecnicamente si tratta di una modifica incompatibile a livello binario, ma riflette la visibilità prevista di questi campi ed è la soluzione più vicina che possiamo ottenere in Kotlin, poiché non include un modo per specificare la visibilità privata del pacchetto. - La nullità di alcuni tipi è ora definita correttamente. I metodi interessati sono:
.getOrDefault
,.keyAt
,.valueAt
,.setValueAt
,.put
,.putIfAbsent
,.removeAt
,.replace
. - Per gli utenti Kotlin,
.isEmpty()
è ora disponibile solo come funzione anziché anche tramite l'accesso alle proprietà. (I271b7, b/182813986)
- Le API private del pacchetto,
Converti
CircularArray
in Kotlin. Modifiche importanti:- Corregge l'annullabilità dei relativi generici in modo che non siano nulli, il che in precedenza era impossibile da dichiarare, ma era applicato in tutte le relative API pubbliche.
- A causa dell'interoperabilità di Kotlin con Java, in precedenza era possibile accedere
a determinati metodi sia come proprietà sia come funzioni. Tuttavia, per ridurre
la duplicazione mantenendo la compatibilità binaria, è stato necessario
rimuoverli, il che è una modifica incompatibile con l'origine. Le chiamate interessate sono:
.isEmpty
,.getLast()
e.getFirst()
. (Ifffac)
Converti
CircularIntArray
in Kotlin. Grazie all'interoperabilità di Kotlin con Java, in precedenza era possibile accedere a determinati metodi come proprietà o funzioni. Tuttavia, per ridurre la duplicazione mantenendo la compatibilità binaria, è stato necessario rimuoverli, il che rappresenta una modifica incompatibile con l'origine. Le chiamate interessate sono:.isEmpty
,.getLast()
e.getFirst()
. (Ie36ce)Converti
LruCache
in Kotlin (Ia2f19)Converti
SparseArrayCompat
in Kotlin. (If6fe8)A
SparseArrayCompat.valueAt()
viene aggiunta una piccola modifica del comportamento, che non restituisce più erroneamentenull
per le chiamate non inizializzate al di fuori dei limiti disize()
, ma all'interno della capacità iniziale fornita.Questa modifica introduce anche la corretta nullità per alcuni tipi che in precedenza non era presente.
.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)
Versione 1.2.0
Versione 1.2.0
1° dicembre 2021
androidx.collection:collection:1.2.0
e androidx.collection:collection-ktx:1.2.0
vengono rilasciati. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- Aggiungi un costruttore di array a
ArraySet
. (Id7f19) - Rendi
entrySet()
conforme all'API implementandoentrySet().toArray()
,remove()
,removeAll()
eretainAll()
e rimuovendo l'implementazione dientrySet().addAll()
(I5d505)
Versione 1.2.0-rc01
17 novembre 2021
androidx.collection:collection:1.2.0-rc01
e androidx.collection:collection-ktx:1.2.0-rc01
vengono rilasciati. La versione 1.2.0-rc01 contiene questi commit.
Modifiche alle API
- Nessuna modifica rispetto alla versione beta precedente.
Versione 1.2.0-beta01
13 ottobre 2021
androidx.collection:collection:1.2.0-beta01
e androidx.collection:collection-ktx:1.2.0-beta01
vengono rilasciati. La versione 1.2.0-beta01 contiene questi commit.
Correzioni di bug
- Rendi
entrySet()
conforme all'API implementandoentrySet().toArray()
,remove()
,removeAll()
eretainAll()
e rimuovendo l'implementazione dientrySet().addAll()
(I5d505)
Versione 1.2.0-alpha01
16 dicembre 2020
androidx.collection:collection:1.2.0-alpha01
e androidx.collection:collection-ktx:1.2.0-alpha01
vengono rilasciati. La versione 1.2.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi un costruttore di array a
ArraySet
. (Id7f19)
Versione 1.1.0
Versione 1.1.0
5 giugno 2019
androidx.collection:collection:1.1.0
e androidx.collection:collection-ktx:1.1.0
vengono rilasciati. I commit inclusi nella versione 1.1.0 sono disponibili qui.
Di seguito è riportato un riepilogo delle modifiche dalla versione 1.0.0 alla 1.1.0:
Nuove funzionalità
- Utilizza un'implementazione più efficiente per le funzioni
contains
eisNotEmpty
nell'artefatto "collection-ktx". (aosp/866529)
Modifiche all'API
- Aggiungi
putIfAbsent
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772608) - Aggiungi
getOrDefault
aSimpleArrayMap
(aosp/772607) - Aggiungi
remove
con due argomenti aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
. Ritirare le estensioni KTX corrispondenti per questa funzionalità. (aosp/772482) - Aggiungi
replace
con due argomenti aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772483) - Aggiungi
replace
con tre argomenti aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772484) - Rendere obsoleti i metodi
delete
ridondanti. Il metodoremove
offre la stessa API e funzionalità e corrisponde all'API utilizzata da Maps non specializzato. (aosp/866053)
Correzioni di bug
- Modifica
SimpleArrayMap
per sincronizzare la cache globale interna degli array suSimpleArrayMap.class
anziché suArrayMap.class
. In questo modo, se utilizzi soloSimpleArrayMap
,ArrayMap
può essere rimosso dagli strumenti di riduzione del codice. (aosp/934557)
Versione 1.1.0-rc01
7 maggio 2019
androidx.collection:collection:1.1.0-rc01
e androidx.collection:collection-ktx:1.1.0-rc01
vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- Utilizza un'implementazione più efficiente per le funzioni
contains
eisNotEmpty
nell'artefatto "collection-ktx". (aosp/866529)
Versione 1.1.0-beta01
3 aprile 2019
androidx.collection:collection:1.1.0-beta01
e androidx.collection:collection-ktx:1.1.0-beta01
vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.
Modifiche all'API
- Il metodo menzionato nelle note di rilascio di alpha03 come metodo con il valore
@RestrictTo
modificato è stato rimosso. Non è mai stata utilizzata da alcuna libreria AndroidX (ora o in passato) e non offriva funzionalità mancanti nell'API pubblica.
Correzioni di bug
- Modifica
SimpleArrayMap
per sincronizzare la cache globale interna degli array suSimpleArrayMap.class
anziché suArrayMap.class
. In questo modo, se utilizzi soloSimpleArrayMap
,ArrayMap
può essere rimosso dagli strumenti di riduzione del codice. (aosp/934557)
Versione 1.1.0-alpha03
13 marzo 2019
androidx.collection:collection:1.0.0-alpha03
e
androidx.collection:collection-ktx:1.0.0-alpha03
vengono rilasciati.
L'elenco completo dei commit inclusi in questa versione è disponibile
qui.
Modifiche all'API
- Un metodo su
ArraySet
precedentemente contrassegnato come@RestrictTo(LIBRARY_GROUP)
è stato modificato in@RestrictTo(LIBRARY_GROUP_PREFIX)
. per supportare l'utilizzo storico da parte di altre librerie AndroidX che ora si trovano in ID gruppo Maven diversi. Questo metodo verrà reso pubblico o rimosso nella versione 1.1.0-alpha04 perché altre librerie AndroidX non devono ottenere API speciali che altri sviluppatori non hanno.
Versione 1.1.0-alpha02
30 gennaio 2019
androidx.collection:collection 1.1.0-alpha02
e
androidx.collection:collection-ktx 1.1.0-alpha02
vengono rilasciati.
Modifiche all'API
- Rendere obsoleti i metodi
delete
ridondanti. I metodiremove
offrono la stessa API e funzionalità e corrispondono all'API utilizzata da Maps non specializzato. (aosp/866053)
Versione 1.1.0-alpha01
3 dicembre 2018
Modifiche all'API
- Aggiungi
putIfAbsent
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772608) - Aggiungi
getOrDefault
aSimpleArrayMap
(aosp/772607) - Aggiungi
remove
con due argomenti aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
. Ritirare le estensioni KTX corrispondenti per questa funzionalità. (aosp/772482) - Aggiungi
replace
con due argomenti aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772483) - Aggiungi
replace
con tre argomenti aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772484)