Coleção
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
27 de agosto de 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
Declarar dependências
Para adicionar uma dependência a Collection, é preciso adicionar o repositório Maven do Google ao projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários no arquivo build.gradle
para
seu app ou módulo:
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") }
Para ver mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.6
Versão 1.6.0-alpha01
27 de agosto de 2025
Lançamento de androidx.collection:collection-*:1.6.0-alpha01
. A versão 1.6.0-alpha01 contém estas confirmações.
Mudanças na API
- Os projetos lançados com o Kotlin 2.0 exigem o KGP 2.0.0 ou mais recente para serem consumidos (Idb6b5)
Correções de bugs
- Antes,
SparseArrayCompat
retornavanull
para valueAt ekeyAt
quando um índice dentro do intervalo alocado, mas fora do intervalo inserido0..size -1
, era transmitido. Conforme documentado, esse comportamento nunca foi esperado e está fora do intervalo de entrada válido. Essa mudança corrige o comportamento para gerarIndexOutOfBounds
quando um índice inválido é transmitido. (I68453)
Contribuição externa
Agradecemos a Jake Wharton pelas seguintes contribuições:
- Alinhe o comportamento de
joinToString
com as coleções da plataforma adicionando um separador antes e um sufixo depois do indicador de truncamento ao limitar os elementos incluídos. (I1b7e8) ScatterSet.hashCode
não se defende mais contra recursão (ou seja, o conjunto sendo adicionado a si mesmo). Isso alinha o comportamento dele comScatterMap
,HashSet
e os conjuntos primitivos baseados em dispersão (por exemplo,LongSet
). O métodoequals
já era suscetível à recursão, etoString
se defende contra ela. Ambos os comportamentos estão alinhados com as outras coleções. (I9c84a).- A função
ScatterSet.retainAll
agora é inline para evitar a criação de uma instância lambda. (Ifa4b7) ScatterSet.hashCode
não usa mais a capacidade no cálculo de hash, garantindo que conteúdos iguais, mas capacidades diferentes, ainda produzam o mesmo valor. (Ic863b).- Agora,
IllegalStateException
é lançado se você chamarremove()
antes denext()
em um iterador das coleçõeskeys
,values
ouentries
deScatterMap.asMap()
ouScatterSet.asSet()
. Isso alinha o comportamento dele com o comportamento regular de mapa e conjunto. (I71694).
Versão 1.5
Versão 1.5.0
12 de março de 2025
Lançamento de androidx.collection:collection-*:1.5.0
. A versão 1.5.0 contém estas confirmações.
Versão 1.5.0-rc01
26 de fevereiro de 2025
Lançamento de androidx.collection:collection-*:1.5.0-rc01
. A versão 1.5.0-rc01 contém estas confirmações.
Versão 1.5.0-beta03
29 de janeiro de 2025
Lançamento de androidx.collection:collection-*:1.5.0-beta03
. A versão 1.5.0-beta03 contém estas confirmações.
Versão 1.5.0-beta02
15 de janeiro de 2025
Lançamento de androidx.collection:collection-*:1.5.0-beta02
. A versão 1.5.0-beta02 contém estas confirmações.
Versão 1.5.0-beta01
11 de dezembro de 2024
Lançamento de androidx.collection:collection-*:1.5.0-beta01
. A versão 1.5.0-beta01 contém estas confirmações.
Mudanças na API
- Adição de suporte ao destino
watchosDeviceArm64
do KMP e ao destino Kotlin 1.9 (Icf15d, b/364652024).
Versão 1.5.0-alpha06
13 de novembro de 2024
Lançamento de androidx.collection:collection-*:1.5.0-alpha06
. A versão 1.5.0-alpha06 contém estas confirmações.
Correções de bugs
- Correção de uma falha que podia ocorrer em
SieveCache
eOrderedScatterSet
ao adicionar vários itens, causando colisões de chaves repetidas. (Iaaf3d, b/375607736). - Adicione o destino wasm à biblioteca de coleções. (I66fe3, b/352722444).
Versão 1.5.0-alpha05
30 de outubro de 2024
Lançamento de androidx.collection:collection-*:1.5.0-alpha05
. A versão 1.5.0-alpha05 contém estas confirmações.
Versão 1.5.0-alpha04
16 de outubro de 2024
Lançamento de androidx.collection:collection-*:1.5.0-alpha04
. A versão 1.5.0-alpha04 contém estas confirmações.
Versão 1.5.0-alpha03
2 de outubro de 2024
Lançamento de androidx.collection:collection-*:1.5.0-alpha03
. A versão 1.5.0-alpha03 contém estes commits.
Mudanças na API
- Atualização da versão do Kotlin para 1.9 (I1a14c)
Contribuição externa
- Avançar
contains
atécontainsKey
. Obrigado, Jake Wharton! (I9362b). - Adicione criadores de contêineres para coleções especializadas em escalares. Obrigado, Jake Wharton! (I13179).
Versão 1.5.0-alpha02
18 de setembro de 2024
Lançamento de androidx.collection:collection-*:1.5.0-alpha02
. A versão 1.5.0-alpha02 contém estas confirmações.
Mudanças na API
- Adiciona compatibilidade com o destino da plataforma
watchosDeviceArm64
. (I1cc04, b/364652024).
Versão 1.5.0-alpha01
4 de setembro de 2024
Lançamento de androidx.collection:collection-*:1.5.0-alpha01
. A versão 1.5.0-alpha01 contém estas confirmações.
Mudanças na API
OrderedScatterSet
é uma nova coleção ordenada e sem alocação (Ic4178).SieveCache
é uma nova substituição sem alocação paraLruCache
que oferece melhores características de taxa de acerto. (I50a17).- Exposição da representação interna
packedValue
paraIntIntPair
eFloatFloatPair
. (Ifeb75, b/331853566) - Adição de acesso à matriz de conteúdo em coleções de listas. (I899d5, b/333903173)
- Adicione
DoubleList
, uma estrutura de dados semelhante a uma lista otimizada para valores duplos. (Ia10d1, b/315127635).
Correções de bugs
- A biblioteca de coleções está sendo migrada para o Kotlin 1.9 (I0782f)
- Otimize muitas das coleções para serem mais eficientes. (Ic0566).
Versão 1.4
Versão 1.4.5
30 de outubro de 2024
Lançamento de androidx.collection:collection-*:1.4.5
. A versão 1.4.5 contém estas confirmações.
Versão 1.4.4
18 de setembro de 2024
Lançamento de androidx.collection:collection-*:1.4.4
. A versão 1.4.4 contém estas confirmações.
Correções de bugs
- Solução alternativa para
ArrayIndexOutOfBounds
ao classificar uma coleção vazia. (I65245).
Versão 1.4.3
7 de agosto de 2024
Lançamento de androidx.collection:collection-*:1.4.3
. A versão 1.4.3 contém estas confirmações.
Correções de bugs
- Correção de uma corrupção que poderia ocorrer em
ScatterMap
,ScatterSet
e as variantes primitivas deles. (I38a4a, b/352560465) - Otimizações de desempenho. Especificamente:
- Substitua as chamadas para
check()
erequired()
por variantes que não geram exceções inline. Isso reduz o tamanho do binário final e, mais importante, alivia um pouco a pressão do i-cache. - Melhoria do
removeDeletedMarkers()
na família de coleções "scatter". A nova versão limpa oito marcadores excluídos por vez e ignora gravações mais caras no processo. (Ic0566).
- Substitua as chamadas para
Versão 1.4.2
24 de julho de 2024
Lançamento de androidx.collection:collection-*:1.4.2
. A versão 1.4.2 contém estas confirmações.
Novos recursos
- Inclui outros destinos do Kotlin Multiplatform:
watchos
,tvos
,linuxArm64
. (b/352543988)
Versão 1.4.1
10 de julho de 2024
Lançamento de androidx.collection:collection-*:1.4.1
. A versão 1.4.1 contém estas confirmações.
Correções de bugs
- Remova os marcadores excluídos de Map/Set ao redimensionar. (7a996c5, b/345960092)
Versão 1.4.0
24 de janeiro de 2024
Lançamento de androidx.collection:collection-*:1.4.0
. A versão 1.4.0 contém estas confirmações.
Mudanças importantes desde a versão 1.3.0
Novas coleções de alta eficiência para armazenar primitivos sem boxing foram adicionadas:
MutableScatterMap
eScatterMap
: classes comMutableMap
e API semelhante a mapaMutableScatterSet
eScatterSet
: classes comMutableSet
e API semelhante a conjuntoMutableObjectList
eObjectList
: classes comMutableList
e API semelhante a lista
Por exemplo, um mapa com uma chave de número inteiro e um valor de tipo de referência é um IntObjectMap<T>
. Um mapa com uma chave longa e um valor de ponto flutuante é um LongFloatMap
. Não há uma versão com o nome ObjectObjectMap
porque ela é coberta por ScatterMap/MutableScatterMap
.
Versão 1.4.0-rc01
10 de janeiro de 2024
Lançamento de androidx.collection:collection-*:1.4.0-rc01
sem mudanças. A versão 1.4.0-rc01 contém estas confirmações.
Versão 1.4.0-beta02
29 de novembro de 2023
Lançamento de androidx.collection:collection-*:1.4.0-beta02
. A versão 1.4.0-beta02 contém estas confirmações.
Novos recursos
- Melhoria no desempenho de
FloatFloatPair
. (If5537).
Correções de bugs
- O iterador
ScatterMap.asMap()
agora retorna novas instâncias (I28932, b/310365754).
Versão 1.4.0-beta01
15 de novembro de 2023
Lançamento de androidx.collection:collection-*:1.4.0-beta01
. A versão 1.4.0-beta01 contém estas confirmações.
Correções de bugs
- Correção para
ListIterator
que definia valores incorretamente emObjectList
, o que poderia resultar em uma falha devido aIndexOutOfBoundsException
. (I3bd8a, b/307049391).
Versão 1.4.0-alpha02
18 de outubro de 2023
Lançamento de androidx.collection:collection-*:1.4.0-alpha02
. A versão 1.4.0-alpha02 contém estas confirmações.
Mudanças na API
- Adicionada sobrecarga para
put
que retorna o valor anterior quando ele é substituído em todas as coleções primitivas, comoFloatFloatMap
. - Converter métodos
removeIf
em coleções primitivas, comoMutableFloatFloatMap
, para inline. Isso garante que a lambda pararemoveIf
não seja alocada.
Versão 1.4.0-alpha01
4 de outubro de 2023
Lançamento de androidx.collection:collection-*:1.4.0-alpha01
. A versão 1.4.0-alpha01 contém estas confirmações.
Novos recursos
Novas coleções de alta eficiência foram adicionadas, com baixa sobrecarga de alocação e alto desempenho:
MutableScatterMap
eScatterMap
: classes comMutableMap
e API semelhante a mapaMutableScatterSet
eScatterSet
: classes comMutableSet
e API semelhante a conjuntoMutableObjectList
eObjectList
: classes comMutableList
e API semelhante a lista
Novas coleções de alta eficiência para armazenar primitivos sem boxing foram adicionadas:
Mutable[Int|Float|Long]List
: classes com API semelhante aMutableList<Int|Float|Long>
. O[Int|Float|Long]List
somente leitura também existe. Por exemplo, números inteiros podem ser armazenados em umIntList
.Mutable[Int|Float|Long]Set
: classes com API semelhante aMutableSet<Int|Float|Long>
. O[Int|Float|Long]Set
somente leitura também existe. Por exemplo, números inteiros podem ser armazenados em um IntSet.Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map
: classes com API semelhante aMutable<Int|Float|Long,T, Int|Float|Long|T>
. O[Int|Float|Long|Object][Int|Float|Long|Object]Map
somente leitura também existe. Por exemplo, um mapa com uma chave de número inteiro e um valor de tipo de referência é umIntObjectMap<T>
. Um mapa com uma chave longa e um valor de ponto flutuante é umLongFloatMap
. Não há uma versão com o nomeObjectObjectMap
porque ela é coberta porScatterMap/MutableScatterMap
.
Versão 1.3.0
Versão 1.3.0
4 de outubro de 2023
Lançamento de androidx.collection:collection-*:1.3.0
. A versão 1.3.0 contém estas confirmações.
Mudanças importantes desde a versão 1.2.0
- Agora você pode usar coleções em projetos Kotlin Multiplatform. Vale lembrar que os destinos não Android das coleções ainda estão em fase experimental, mas decidimos mesclar as versões para facilitar o teste por parte dos desenvolvedores.
- Todo o código-fonte foi migrado para o Kotlin. Como parte dessa mudança, muitas APIs agora são digitadas corretamente para nulidade, e alguns membros particulares do pacote se tornaram
internal
. Uma lista das mudanças exatas está disponível nas notas da versão secundária 1.3.x abaixo. - Além da migração para Kotlin, o
collection-ktx
foi mesclado com o artefato principal de coleta. Você pode remover com segurança todas as dependências decollection:collection-ktx
em favor decollection:collection
, já quecollection-ktx
agora está vazio.
Versão 1.3.0-rc01
6 de setembro de 2023
Lançamento de androidx.collection:collection-*:1.3.0-rc01
sem mudanças. A versão 1.3.0-rc01 contém estas confirmações.
Versão 1.3.0-beta01
9 de agosto de 2023
Lançamento de androidx.collection:collection-*:1.3.0-beta01
. A versão 1.3.0-beta01 contém estas confirmações.
Versão 1.3.0-alpha04
24 de março de 2023
Lançamento de androidx.collection:collection-*:1.3.0-alpha04
.
Correções de bugs
- As restrições de dependência foram removidas dos artefatos do Maven para contornar um problema de build em destinos nativos do Kotlin (b/274786186, KT-57531).
Versão 1.3.0-alpha03
22 de março de 2023
Lançamento de androidx.collection:collection-*:1.3.0-alpha03
. A versão 1.3.0-alpha03 contém essas confirmações.
Novos recursos
- Agora você pode usar coleções em projetos KMM. Vale lembrar que os destinos não Android das Coleções ainda estão em fase experimental, mas decidimos mesclar as versões para facilitar o teste pelos desenvolvedores.
Mudanças na API
ArraySet
agora implementaMutableCollections
em vez deAbstractMutableCollection
para permitir uma implementação mais eficiente em termos de memória detoArray
(I1ac32).
Correções de bugs
- Agora,
ArraySet.toArray
só está disponível na JVM, já que sempre foi incluído apenas para compatibilidade com Java. Em geral, os usuários do Kotlin devem usar os helpers.toTypedArray
da stdlib, que oferecem exatamente a mesma funcionalidade com mais segurança de tipo. (I2c59b).
Versão 1.3.0-alpha02
27 de julho de 2022
Lançamento de androidx.collection:collection:1.3.0-alpha02
e androidx.collection:collection-ktx:1.3.0-alpha02
. A versão 1.3.0-alpha02 contém estas confirmações.
Mudanças na API
SparseArrayCompat
agora está disponível para plataformas não JVM no artefato comum (Ic9bd0, b/219589118, b/228347315).CircularIntArray
agora está disponível para plataformas não JVM no artefato comum (I3d8ef, b/228344943).LongSparseArray
agora está disponível para plataformas não JVM no artefato comum (I73149, b/228347315).
Versão 1.3.0-alpha01
29 de junho de 2022
Lançamento de androidx.collection:collection:1.3.0-alpha01
e androidx.collection:collection-ktx:1.3.0-alpha01
. A versão 1.3.0-alpha01 contém estas confirmações.
Novos recursos
- As extensões
collection-ktx
foram migradas para o artefato principal de coleções,androidx.collection:collection
. Essa mudança torna as extensões -ktx pré-existentes acessíveis aos usuários do Kotlin sem exigir a dependência -ktx, mantendo a compatibilidade para os usuários atuais. Manter essas extensões em um artefato -ktx separado não é mais benéfico, já que o artefato principal foi movido para o Kotlin. (I6eef2).
Mudanças na API
ArraySet
agora estendeAbstractMutableCollection
e não implementa mais diretamente a interface Collection. (If6da0, b/230860589).ArraySet
convertido para Kotlin. Devido à tipagem mais rigorosa, algumas chamadas do Kotlin podem não ser mais compiladas. (Id68c1, b/230860589).- As chamadas a seguir têm o tipo de argumento
T
, nãoT?
:ArraySet<T>.contains(null)
ArraySet<T>.add(null)
ArraySet<T>.remove(null)
- As chamadas a seguir têm o tipo de retorno
T?
, nãoT!
:ArraySet<T?>.valueAt(n)
ArraySet<T?>.removeAt(n)
ArraySet<T?>().iterator().next()
- As seguintes chamadas não são mais possíveis em Kotlin:
set.toArray()
: useset.toTypedArray()
set.toArray(array)
: useset.forEachIndexed(array::set)
- As chamadas a seguir têm o tipo de argumento
- Combine o construtor sobrecarregado para
SparseArrayCompat
como um argumento opcional para usuários do Kotlin. (If8407, b/227474719). - Remova a sintaxe do operador para
SparseArrayCompat.get(key, defaultValue).
. Isso ainda permite a sintaxe do operador para.get(key)
, mas alinha melhor a plataforma de API deSparseArrayCompat
com as outras classes nesta biblioteca. (I9a38d) - Migre as extensões
LongSparseArray
para o artefato principal, androidx.collection:collection. Essa mudança torna as extensões -ktx pré-existentes acessíveis aos usuários do Kotlin sem exigir a dependência -ktx, mantendo a compatibilidade para os usuários atuais. Manter essas extensões em um artefato -ktx separado não é mais benéfico, já que o artefato principal foi movido para o Kotlin. (I8659a). - Converta
LongSparseArray
para Kotlin. Essa mudança adiciona nulidade explícita aos tipos, o que é uma mudança compatível com binários, mas pode causar incompatibilidades de origem. Em particular: *.isEmpty
não está mais acessível como uma propriedade. Ele precisa ser acessado como uma chamada de função em Kotlin:.isEmpty()
(Idfd0f) - Converta
SimpleArrayMap
para Kotlin. Essa mudança introduz algumas alterações incompatíveis como resultado da interoperabilidade Java-Kotlin e da capacidade de definir corretamente a nulidade dos tipos na origem.- As APIs privadas do pacote,
.mSize
,.mArray
,.mHashes
,.indexOf()
,.indexOfNull()
e.indexOfValue()
, foram definidas como privadas. Essa é tecnicamente uma mudança incompatível com binários, mas reflete a visibilidade pretendida desses campos e é o mais próximo que podemos chegar no Kotlin, já que ele não inclui uma maneira de especificar a visibilidade privada do pacote. - A nulidade de alguns tipos agora está definida corretamente. Os métodos afetados são:
.getOrDefault
,.keyAt
,.valueAt
,.setValueAt
,.put
,.putIfAbsent
,.removeAt
e.replace
. - Para usuários do Kotlin,
.isEmpty()
agora está disponível apenas como uma função, e não também por acesso à propriedade. (I271b7, b/182813986).
- As APIs privadas do pacote,
Converta
CircularArray
para Kotlin. Mudanças importantes:- Corrige a nulidade dos tipos genéricos para não nulos, o que antes era impossível de declarar, mas era aplicado em todas as APIs públicas.
- Devido à interoperabilidade do Kotlin com o Java, era possível acessar
determinados métodos como propriedades ou funções. No entanto, para reduzir a duplicação e manter a compatibilidade binária, foi necessário remover esses elementos, o que é uma mudança incompatível com a origem. As chamadas afetadas são:
.isEmpty
,.getLast()
e.getFirst()
. (Ifffac).
Converta
CircularIntArray
para Kotlin. Devido à interoperabilidade do Kotlin com o Java, era possível acessar determinados métodos como propriedades ou funções. No entanto, para reduzir a duplicação e manter a compatibilidade binária, foi necessário remover esses elementos, o que é uma mudança incompatível com a origem. As chamadas afetadas são:.isEmpty
,.getLast()
e.getFirst()
. (Ie36ce).Converter
LruCache
para Kotlin (Ia2f19)Converta
SparseArrayCompat
para Kotlin. (If6fe8).Uma pequena mudança de comportamento foi adicionada ao
SparseArrayCompat.valueAt()
, que não retorna maisnull
incorretamente para chamadas não inicializadas fora dos limites desize()
, mas dentro da capacidade inicial fornecida.Essa mudança também introduz a nulidade correta para alguns tipos que estavam ausentes anteriormente.
.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)
Versão 1.2.0
Versão 1.2.0
1.º de dezembro de 2021
Lançamento de androidx.collection:collection:1.2.0
e androidx.collection:collection-ktx:1.2.0
. A versão 1.2.0 contém estas confirmações.
Mudanças importantes desde a 1.1.0
- Adicione um construtor de matrizes ao
ArraySet
(Id7f19). - A API se tornou compatível com
entrySet()
ao implementarentrySet().toArray()
,remove()
,removeAll()
eretainAll()
e remover a implementação deentrySet().addAll()
(I5d505).
Versão 1.2.0-rc01
17 de novembro de 2021
Lançamento de androidx.collection:collection:1.2.0-rc01
e androidx.collection:collection-ktx:1.2.0-rc01
. A versão 1.2.0-rc01 contém estas confirmações.
Mudanças na API
- Não houve mudanças desde a versão Beta anterior.
Versão 1.2.0-beta01
13 de outubro de 2021
Lançamento de androidx.collection:collection:1.2.0-beta01
e androidx.collection:collection-ktx:1.2.0-beta01
. A versão 1.2.0-beta01 contém estas confirmações.
Correções de bugs
- A API se tornou compatível com
entrySet()
ao implementarentrySet().toArray()
,remove()
,removeAll()
eretainAll()
e remover a implementação deentrySet().addAll()
(I5d505).
Versão 1.2.0-alpha01
16 de dezembro de 2020
Lançamento de androidx.collection:collection:1.2.0-alpha01
e androidx.collection:collection-ktx:1.2.0-alpha01
. A versão 1.2.0-alpha01 contém estas confirmações.
Mudanças na API
- Adicione um construtor de matrizes ao
ArraySet
(Id7f19).
Versão 1.1.0
Versão 1.1.0
5 de junho de 2019
Lançamento de androidx.collection:collection:1.1.0
e androidx.collection:collection-ktx:1.1.0
. As confirmações incluídas na versão 1.1.0 podem ser encontradas neste link.
Veja abaixo um resumo das mudanças da versão 1.0.0 para a 1.1.0:
Novos recursos
- Uso de uma implementação mais eficiente para as funções
contains
eisNotEmpty
no artefato "collection-ktx" (aosp/866529).
Mudanças na API
- Adição de
putIfAbsent
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772608). - Adição de
getOrDefault
aSimpleArrayMap
(aosp/772607). - Adição de dois argumentos
remove
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
. Suspender o uso das extensões KTX correspondentes para essa funcionalidade. (aosp/772482). - Adição de dois argumentos
replace
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772483). - Adição de três argumentos
replace
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772484). - Suspensão do uso de métodos
delete
redundantes. O métodoremove
oferece a mesma API e funcionalidade e corresponde à API usada por mapas não especializados. (aosp/866053, link em inglês)
Correções de bugs
- Mudança de
SimpleArrayMap
para sincronizar o cache global interno de matrizes emSimpleArrayMap.class
em vez deArrayMap.class
. Isso garante que, se você usar apenasSimpleArrayMap
, será possível removerArrayMap
usando ferramentas de redução de código. (aosp/934557, link em inglês)
Versão 1.1.0-rc01
7 de maio de 2019
Lançamento de androidx.collection:collection:1.1.0-rc01
e androidx.collection:collection-ktx:1.1.0-rc01
. As confirmações incluídas nessa versão podem ser encontradas neste link.
Novos recursos
- Uso de uma implementação mais eficiente para as funções
contains
eisNotEmpty
no artefato "collection-ktx" (aosp/866529).
Versão 1.1.0-beta01
3 de abril de 2019
Lançamento de androidx.collection:collection:1.1.0-beta01
e androidx.collection:collection-ktx:1.1.0-beta01
. As confirmações incluídas nessa versão podem ser encontradas neste link.
Mudanças na API
- O método mencionado em notas da versão alfa03, como tendo o valor
@RestrictTo
modificado, foi removido. Ele não foi usado por nenhuma biblioteca AndroidX (agora ou historicamente) e não ofereceu nenhuma funcionalidade que estava faltando na API pública.
Correções de bugs
- Mudança de
SimpleArrayMap
para sincronizar o cache global interno de matrizes emSimpleArrayMap.class
em vez deArrayMap.class
. Isso garante que, se você usar apenasSimpleArrayMap
, será possível removerArrayMap
usando ferramentas de redução de código. (aosp/934557, link em inglês)
Versão 1.1.0-alpha03
13 de março de 2019
Lançamento de androidx.collection:collection:1.0.0-alpha03
e androidx.collection:collection-ktx:1.0.0-alpha03
.
A lista completa de confirmações incluídas nessa versão pode ser encontrada aqui (link em inglês).
Mudanças na API
- Um método em
ArraySet
marcado anteriormente como@RestrictTo(LIBRARY_GROUP)
foi alterado para@RestrictTo(LIBRARY_GROUP_PREFIX)
. Essa ação foi realizada para oferecer compatibilidade com o uso histórico de outras bibliotecas do AndroidX que agora pertencem a diferentes IDs de grupo do Maven. Esse método se tornará público ou será removido na versão 1.1.0-alpha04, uma vez que outras bibliotecas do AndroidX não devem receber APIs especiais a que outros desenvolvedores não tenham acesso.
Versão 1.1.0-alpha02
30 de janeiro de 2019
Lançamento de androidx.collection:collection 1.1.0-alpha02
e androidx.collection:collection-ktx 1.1.0-alpha02
.
Mudanças na API
- Suspensão do uso de métodos
delete
redundantes. Os métodosremove
oferecem a mesma API e funcionalidade e correspondem à API usada por mapas não especializados. (aosp/866053, link em inglês)
Versão 1.1.0-alpha01
3 de dezembro de 2018
Mudanças na API
- Adição de
putIfAbsent
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772608). - Adição de
getOrDefault
aSimpleArrayMap
(aosp/772607). - Adição de dois argumentos
remove
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
. Suspender o uso das extensões KTX correspondentes para essa funcionalidade. (aosp/772482). - Adição de dois argumentos
replace
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772483). - Adição de três argumentos
replace
aLongSparseArray
,SimpleArrayMap
eSparseArrayCompat
(aosp/772484).