Coleção

  
Reduza o impacto na memória de coleções novas e existentes que sejam pequenas.
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.

Criar novo problema

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 retornava null para valueAt e keyAt quando um índice dentro do intervalo alocado, mas fora do intervalo inserido 0..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 gerar IndexOutOfBounds 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 com ScatterMap, HashSet e os conjuntos primitivos baseados em dispersão (por exemplo, LongSet). O método equals já era suscetível à recursão, e toString 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ê chamar remove() antes de next() em um iterador das coleções keys, values ou entries de ScatterMap.asMap() ou ScatterSet.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 e OrderedScatterSet 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 para LruCache que oferece melhores características de taxa de acerto. (I50a17).
  • Exposição da representação interna packedValue para IntIntPair e FloatFloatPair. (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() e required() 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).

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

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 e ScatterMap: classes com MutableMap e API semelhante a mapa
  • MutableScatterSet e ScatterSet: classes com MutableSet e API semelhante a conjunto
  • MutableObjectList e ObjectList: classes com MutableList 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 em ObjectList, o que poderia resultar em uma falha devido a IndexOutOfBoundsException. (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, como FloatFloatMap.
  • Converter métodos removeIf em coleções primitivas, como MutableFloatFloatMap, para inline. Isso garante que a lambda para removeIf 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 e ScatterMap: classes com MutableMap e API semelhante a mapa
  • MutableScatterSet e ScatterSet: classes com MutableSet e API semelhante a conjunto
  • MutableObjectList e ObjectList: classes com MutableList 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 a MutableList<Int|Float|Long>. O [Int|Float|Long]List somente leitura também existe. Por exemplo, números inteiros podem ser armazenados em um IntList.
  • Mutable[Int|Float|Long]Set: classes com API semelhante a MutableSet<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 a Mutable<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 é 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.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 de collection:collection-ktx em favor de collection:collection, já que collection-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 implementa MutableCollections em vez de AbstractMutableCollection para permitir uma implementação mais eficiente em termos de memória de toArray (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 estende AbstractMutableCollection 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ão T?:
      • ArraySet<T>.contains(null)
      • ArraySet<T>.add(null)
      • ArraySet<T>.remove(null)
    • As chamadas a seguir têm o tipo de retorno T?, não T!:
      • 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(): use set.toTypedArray()
      • set.toArray(array): use set.forEachIndexed(array::set)
  • 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 de SparseArrayCompat 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).
  • 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 mais null incorretamente para chamadas não inicializadas fora dos limites de size(), 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 implementar entrySet().toArray(), remove(), removeAll() e retainAll() e remover a implementação de entrySet().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 implementar entrySet().toArray(), remove(), removeAll() e retainAll() e remover a implementação de entrySet().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 e isNotEmpty no artefato "collection-ktx" (aosp/866529).

Mudanças na API

  • Adição de putIfAbsent a LongSparseArray, SimpleArrayMap e SparseArrayCompat (aosp/772608).
  • Adição de getOrDefault a SimpleArrayMap (aosp/772607).
  • Adição de dois argumentos remove a LongSparseArray, SimpleArrayMap e SparseArrayCompat. Suspender o uso das extensões KTX correspondentes para essa funcionalidade. (aosp/772482).
  • Adição de dois argumentos replace a LongSparseArray, SimpleArrayMap e SparseArrayCompat (aosp/772483).
  • Adição de três argumentos replace a LongSparseArray, SimpleArrayMap e SparseArrayCompat (aosp/772484).
  • Suspensão do uso de métodos delete redundantes. O método remove 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 em SimpleArrayMap.class em vez de ArrayMap.class. Isso garante que, se você usar apenas SimpleArrayMap, será possível remover ArrayMap 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 e isNotEmpty 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 em SimpleArrayMap.class em vez de ArrayMap.class. Isso garante que, se você usar apenas SimpleArrayMap, será possível remover ArrayMap 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étodos remove 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 a LongSparseArray, SimpleArrayMap e SparseArrayCompat (aosp/772608).
  • Adição de getOrDefault a SimpleArrayMap (aosp/772607).
  • Adição de dois argumentos remove a LongSparseArray, SimpleArrayMap e SparseArrayCompat. Suspender o uso das extensões KTX correspondentes para essa funcionalidade. (aosp/772482).
  • Adição de dois argumentos replace a LongSparseArray, SimpleArrayMap e SparseArrayCompat (aosp/772483).
  • Adição de três argumentos replace a LongSparseArray, SimpleArrayMap e SparseArrayCompat (aosp/772484).