Коллекция
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
---|---|---|---|---|
27 августа 2025 г. | 1.5.0 | - | - | 1.6.0-альфа01 |
Объявление зависимостей
Чтобы добавить зависимость от Collection, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle
вашего приложения или модуля:
классный
dependencies { def collection_version = "1.5.0" implementation "androidx.collection:collection:$collection_version" }
Котлин
dependencies { val collection_version = "1.5.0" implementation("androidx.collection:collection:$collection_version") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Версия 1.6
Версия 1.6.0-альфа01
27 августа 2025 г.
Выпущена androidx.collection:collection-*:1.6.0-alpha01
. Версия 1.6.0-alpha01 содержит следующие коммиты .
Изменения API
- Для проектов, выпущенных с использованием Kotlin 2.0, требуется использование KGP 2.0.0 или более поздней версии ( Idb6b5 ).
Исправления ошибок
- Ранее
SparseArrayCompat
возвращалnull
для valueAt иkeyAt
при передаче индекса, находящегося в пределах выделенного диапазона, но за пределами вставленного диапазона0..size -1
. Как указано в документации, такое поведение никогда не ожидалось и выходило за пределы допустимого входного диапазона. Данное изменение исправляет это поведение, вместо этого выдавая исключениеIndexOutOfBounds
при передаче недопустимого индекса. ( I68453 )
Внешний вклад
Благодарим Джейка Уортона за следующие вклады:
- Приведите поведение
joinToString
в соответствие с коллекциями платформы, добавив разделитель перед индикатором усечения и постфикс после него при ограничении включенных элементов. ( I1b7e8 ) -
ScatterSet.hashCode
больше не защищает от рекурсии (т.е. от сложения множества с самим собой). Это приводит его поведение в соответствие соScatterMap
,HashSet
и примитивными множествами, основанными на скаттерах (например,LongSet
). Обратите внимание, что методequals
уже был подвержен рекурсии, аtoString
защищает от неё — оба поведения соответствуют другим коллекциям. ( I9c84a ) - Функция
ScatterSet.retainAll
теперь встроена, чтобы избежать создания экземпляра лямбда-выражения. ( Ifa4b7 ) -
ScatterSet.hashCode
больше не использует свою емкость при вычислении хеша, обеспечивая одинаковое содержимое, но разные емкости по-прежнему дают одинаковое значение. ( Ic863b ) -
IllegalStateException
теперь генерируется при вызове методаremove()
передnext()
для итератора коллекцийkeys
,values
илиentries
ScatterMap.asMap()
илиScatterSet.asSet()
. Это приводит его поведение в соответствие с обычным поведением отображения и набора. ( I71694 )
Версия 1.5
Версия 1.5.0
12 марта 2025 г.
Выпущена androidx.collection:collection-*:1.5.0
. Версия 1.5.0 содержит следующие коммиты .
Версия 1.5.0-rc01
26 февраля 2025 г.
Выпущена androidx.collection:collection-*:1.5.0-rc01
. Версия 1.5.0-rc01 содержит следующие коммиты .
Версия 1.5.0-beta03
29 января 2025 г.
Выпущена androidx.collection:collection-*:1.5.0-beta03
. Версия 1.5.0-beta03 содержит следующие коммиты .
Версия 1.5.0-beta02
15 января 2025 г.
Выпущена androidx.collection:collection-*:1.5.0-beta02
. Версия 1.5.0-beta02 содержит следующие коммиты .
Версия 1.5.0-beta01
11 декабря 2024 г.
Выпущена androidx.collection:collection-*:1.5.0-beta01
. Версия 1.5.0-beta01 содержит следующие коммиты .
Изменения API
- Добавляет поддержку
watchosDeviceArm64
KMP target и kotlin 1.9 ( Icf15d , b/364652024 )
Версия 1.5.0-альфа06
13 ноября 2024 г.
Выпущена androidx.collection:collection-*:1.5.0-alpha06
. Версия 1.5.0-alpha06 содержит следующие коммиты .
Исправления ошибок
- Исправлен сбой, который мог возникнуть в
SieveCache
иOrderedScatterSet
при добавлении большого количества элементов, что приводило к повторяющимся конфликтам ключей. ( Iaaf3d , b/375607736 ) - Добавить цель wasm в библиотеку коллекции. ( I66fe3 , b/352722444 )
Версия 1.5.0-альфа05
30 октября 2024 г.
Выпущена androidx.collection:collection-*:1.5.0-alpha05
. Версия 1.5.0-alpha05 содержит следующие коммиты .
Версия 1.5.0-альфа04
16 октября 2024 г.
Выпущена androidx.collection:collection-*:1.5.0-alpha04
. Версия 1.5.0-alpha04 содержит следующие коммиты .
Версия 1.5.0-альфа03
2 октября 2024 г.
Выпущена androidx.collection:collection-*:1.5.0-alpha03
. Версия 1.5.0-alpha03 содержит следующие коммиты .
Изменения API
- Обновление версии Kotlin до 1.9 ( I1a14c )
Внешний вклад
- Переслать
contains
вcontainsKey
. Спасибо, Джейк Уортон! ( I9362b ) - Добавьте конструкторы контейнеров для коллекций, специализирующихся на скалярных вычислениях. Спасибо, Джейк Уортон! ( I13179 )
Версия 1.5.0-альфа02
18 сентября 2024 г.
Выпущена androidx.collection:collection-*:1.5.0-alpha02
. Версия 1.5.0-alpha02 содержит следующие коммиты .
Изменения API
- Добавляет поддержку целевой платформы
watchosDeviceArm64
. ( I1cc04 , b/364652024 )
Версия 1.5.0-альфа01
4 сентября 2024 г.
Выпущена androidx.collection:collection-*:1.5.0-alpha01
. Версия 1.5.0-alpha01 содержит следующие коммиты .
Изменения API
-
OrderedScatterSet
— это новая упорядоченная коллекция без распределения ( Ic4178 ). -
SieveCache
— это новая, не требующая выделения памяти заменаLruCache
, которая обеспечивает лучшие характеристики коэффициента попаданий. ( I50a17 ) - Раскрыто внутреннее представление
packedValue
дляIntIntPair
иFloatFloatPair
. ( Ifeb75 , b/331853566 ) - Добавление доступа к массиву контента в коллекциях списков. ( I899d5 , b/333903173 )
- Добавьте
DoubleList
— структуру данных в виде списка, оптимизированную для значений Double. ( Ia10d1 , b/315127635 )
Исправления ошибок
- Библиотека коллекций переходит на версию Kotlin 1.9 ( I0782f )
- Оптимизировать многие коллекции, чтобы сделать их более эффективными. ( Ic0566 )
Версия 1.4
Версия 1.4.5
30 октября 2024 г.
Выпущена androidx.collection:collection-*:1.4.5
. Версия 1.4.5 содержит следующие коммиты .
Версия 1.4.4
18 сентября 2024 г.
Выпущена androidx.collection:collection-*:1.4.4
. Версия 1.4.4 содержит следующие коммиты .
Исправления ошибок
- Обход ошибки
ArrayIndexOutOfBounds
при сортировке пустой коллекции. ( I65245 )
Версия 1.4.3
7 августа 2024 г.
Выпущена androidx.collection:collection-*:1.4.3
. Версия 1.4.3 содержит следующие коммиты .
Исправления ошибок
- Исправлена ошибка, которая могла возникнуть в
ScatterMap
,ScatterSet
и их примитивных вариантах. ( I38a4a , b/352560465 ) - Оптимизация производительности. В частности:
- Замените вызовы
check()
иrequired()
вариантами, не выдающими встроенные исключения. Это уменьшает размер конечного двоичного файла и, что ещё важнее, немного снижает нагрузку на i-кэш. - Улучшен метод
removeDeletedMarkers()
в семействе коллекций «scatter». Новая версия удаляет удалённые маркеры по 8 за раз и пропускает более затратные операции записи в процессе. ( Ic0566 )
- Замените вызовы
Версия 1.4.2
24 июля 2024 г.
Выпущена androidx.collection:collection-*:1.4.2
. Версия 1.4.2 содержит следующие коммиты .
Новые функции
- Включает дополнительные цели Kotlin Multiplatform:
watchos
,tvos
,linuxArm64
. ( b/352543988 )
Версия 1.4.1
10 июля 2024 г.
Выпущена androidx.collection:collection-*:1.4.1
. Версия 1.4.1 содержит следующие коммиты .
Исправления ошибок
- Удалять удаленные надгробия из карты/набора при изменении размера. ( 7a996c5 , b/345960092 )
Версия 1.4.0
24 января 2024 г.
Выпущена androidx.collection:collection-*:1.4.0
. Версия 1.4.0 содержит следующие коммиты.
Важные изменения с версии 1.3.0
Добавлены новые высокоэффективные коллекции для хранения примитивов без упаковки:
-
MutableScatterMap
иScatterMap
— классы с APIMutableMap
и Map-like -
MutableScatterSet
иScatterSet
— классы с API, подобнымMutableSet
и Set -
MutableObjectList
иObjectList
— классы с APIMutableList
и List-like
Например, карта с целочисленным ключом и ссылочным значением — это IntObjectMap<T>
. Карта с длинным ключом и значением с плавающей точкой — это LongFloatMap
. Версии с именем ObjectObjectMap
нет, поскольку она входит в ScatterMap/MutableScatterMap
.
Версия 1.4.0-rc01
10 января 2024 г.
androidx.collection:collection-*:1.4.0-rc01
выпущен без изменений. Версия 1.4.0-rc01 содержит эти коммиты.
Версия 1.4.0-beta02
29 ноября 2023 г.
Выпущена androidx.collection:collection-*:1.4.0-beta02
. Версия 1.4.0-beta02 содержит следующие коммиты.
Новые функции
- Улучшена производительность
FloatFloatPair
. ( If5537 )
Исправления ошибок
- Итератор
ScatterMap.asMap()
теперь возвращает новые экземпляры ( I28932 , b/310365754 )
Версия 1.4.0-beta01
15 ноября 2023 г.
Выпущена androidx.collection:collection-*:1.4.0-beta01
. Версия 1.4.0-beta01 содержит следующие коммиты.
Исправления ошибок
- Исправлена ошибка, из-за которой
ListIterator
неправильно устанавливал значения вObjectList
, что могло привести к сбою из-заIndexOutOfBoundsException
. ( I3bd8a , b/307049391 )
Версия 1.4.0-альфа02
18 октября 2023 г.
Выпущена androidx.collection:collection-*:1.4.0-alpha02
. Версия 1.4.0-alpha02 содержит следующие коммиты.
Изменения API
- Добавлена перегрузка для
put
, которая возвращает предыдущее значение при его замене на все примитивные коллекции, такие какFloatFloatMap
. - Преобразуйте методы
removeIf
примитивных коллекций, таких какMutableFloatFloatMap
, во встроенные. Это гарантирует, что лямбда-функцияremoveIf
не будет выделена.
Версия 1.4.0-альфа01
4 октября 2023 г.
Выпущена androidx.collection:collection-*:1.4.0-alpha01
. Версия 1.4.0-alpha01 содержит следующие коммиты.
Новые функции
Добавлены новые высокоэффективные коллекции, которые имеют низкие накладные расходы и высокую производительность:
-
MutableScatterMap
иScatterMap
— классы с APIMutableMap
и Map-like -
MutableScatterSet
иScatterSet
— классы с API, подобнымMutableSet
и Set -
MutableObjectList
иObjectList
— классы с APIMutableList
и List-like
Добавлены новые высокоэффективные коллекции для хранения примитивов без упаковки:
-
Mutable[Int|Float|Long]List
— классы с API, подобнымMutableList<Int|Float|Long>
. Также существует[Int|Float|Long]List
доступный только для чтения. Например, целые числа могут храниться вIntList
. -
Mutable[Int|Float|Long]Set
— классы с API, подобнымMutableSet<Int|Float|Long>
. Также существует[Int|Float|Long]Set
доступный только для чтения. Например, целые числа могут храниться в IntSet. -
Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map
— классы с API, подобнымMutable<Int|Float|Long,T, Int|Float|Long|T>
. Также существует доступный только для чтения[Int|Float|Long|Object][Int|Float|Long|Object]Map
. Например, карта с целочисленным ключом и ссылочным значением — этоIntObjectMap<T>
. Карта с длинным ключом и значением с плавающей точкой — этоLongFloatMap
. Версии с именемObjectObjectMap
нет, поскольку она входит в классыScatterMap/MutableScatterMap
.
Версия 1.3.0
Версия 1.3.0
4 октября 2023 г.
Выпущена androidx.collection:collection-*:1.3.0
. Версия 1.3.0 содержит следующие коммиты.
Важные изменения с версии 1.2.0
- Теперь вы можете использовать коллекции в многоплатформенных проектах Kotlin. Обратите внимание, что коллекции для не-Android всё ещё находятся в экспериментальном состоянии, но мы решили объединить версии, чтобы разработчикам было проще их опробовать.
- Весь исходный код был перенесён на Kotlin. В рамках этого изменения многие API теперь корректно типизированы для null, а несколько закрытых членов пакетов стали
internal
. Полный список изменений доступен в примечаниях к выпуску 1.3.x ниже. - Вместе с миграцией на Kotlin
collection-ktx
была объединена с основным артефактом коллекции. Вы можете смело отказаться от всех зависимостей отcollection:collection-ktx
в пользуcollection:collection
, посколькуcollection-ktx
теперь пуст.
Версия 1.3.0-rc01
6 сентября 2023 г.
androidx.collection:collection-*:1.3.0-rc01
выпущен без изменений. Версия 1.3.0-rc01 содержит эти коммиты.
Версия 1.3.0-beta01
9 августа 2023 г.
Выпущена androidx.collection:collection-*:1.3.0-beta01
. Версия 1.3.0-beta01 содержит следующие коммиты.
Версия 1.3.0-альфа04
24 марта 2023 г.
Выпущена версия androidx.collection:collection-*:1.3.0-alpha04
.
Исправления ошибок
- Удалены ограничения зависимостей из артефактов Maven для обхода проблемы сборки в Kotlin Native Targets ( b/274786186 , KT-57531 ).
Версия 1.3.0-альфа03
22 марта 2023 г.
Выпущена androidx.collection:collection-*:1.3.0-alpha03
. Версия 1.3.0-alpha03 содержит следующие коммиты.
Новые функции
- Теперь вы можете использовать коллекции в проектах KMM . Обратите внимание, что коллекции для не-Android устройств всё ещё находятся в экспериментальном состоянии, но мы решили объединить версии, чтобы разработчикам было проще их опробовать.
Изменения API
-
ArraySet
теперь реализуетMutableCollections
вместоAbstractMutableCollection
, что позволяет реализоватьtoArray
( I1ac32 ) более эффективно с точки зрения использования памяти.
Исправления ошибок
-
ArraySet.toArray
теперь доступен только на JVM, поскольку изначально он был включён только для совместимости с Java. Пользователям Kotlin, как правило, следует использовать вспомогательные методы.toTypedArray
из stdlib, которые обеспечивают ту же функциональность с повышенной типобезопасностью. ( I2c59b )
Версия 1.3.0-альфа02
27 июля 2022 г.
Выпущены androidx.collection:collection:1.3.0-alpha02
и androidx.collection:collection-ktx:1.3.0-alpha02
. Версия 1.3.0-alpha02 содержит эти коммиты.
Изменения API
-
SparseArrayCompat
теперь доступен для платформ, отличных от jvm, из общего артефакта ( Ic9bd0 , b/219589118 , b/228347315 ). -
CircularIntArray
теперь доступен для платформ, отличных от JVM, из общего артефакта ( I3d8ef , b/228344943 ). -
LongSparseArray
теперь доступен для платформ, отличных от JVM, из общего артефакта ( I73149 , b/228347315 ).
Версия 1.3.0-альфа01
29 июня 2022 г.
Выпущены androidx.collection:collection:1.3.0-alpha01
и androidx.collection:collection-ktx:1.3.0-alpha01
. Версия 1.3.0-alpha01 содержит эти коммиты.
Новые функции
- Расширения
collection-ktx
перенесены в основной артефакт коллекций,androidx.collection:collection
. Это изменение делает существующие расширения -ktx доступными для пользователей Kotlin без необходимости наличия зависимости -ktx, сохраняя при этом совместимость с существующими пользователями. Поддержание этих расширений в отдельном артефакте -ktx больше нецелесообразно, поскольку основной артефакт перенесен в Kotlin. ( I6eef2 )
Изменения API
-
ArraySet
теперь расширяетAbstractMutableCollection
и больше не реализует интерфейс Collection напрямую. ( If6da0 , b/230860589 ) -
ArraySet
преобразован в Kotlin. Из-за более строгой типизации некоторые вызовы Kotlin могут больше не компилироваться. ( Id68c1 , b/230860589 )- Следующие вызовы имеют тип аргумента
T
, а неT?
-
ArraySet<T>.contains(null)
-
ArraySet<T>.add(null)
-
ArraySet<T>.remove(null)
-
- Следующие вызовы имеют тип возврата
T?
а неT!
-
ArraySet<T?>.valueAt(n)
-
ArraySet<T?>.removeAt(n)
-
ArraySet<T?>().iterator().next()
-
- Следующие вызовы больше невозможны из Kotlin:
-
set.toArray()
- используйтеset.toTypedArray()
-
set.toArray(array)
- используйтеset.forEachIndexed(array::set)
-
- Следующие вызовы имеют тип аргумента
- Объединение перегруженного конструктора для
SparseArrayCompat
в качестве необязательного аргумента для пользователей Kotlin. ( If8407 , b/227474719 ) - Удален операторный синтаксис для
SparseArrayCompat.get(key, defaultValue).
Обратите внимание, что это по-прежнему допускает операторный синтаксис для.get(key)
, но лучше согласует APISparseArrayCompat
с другими классами этой библиотеки. ( I9a38d ) - Перенести расширения
LongSparseArray
в основной артефакт androidx.collection:collection. Это изменение делает существующие расширения -ktx доступными для пользователей Kotlin без необходимости установки зависимости -ktx, сохраняя при этом совместимость с существующими пользователями. Сохранение этих расширений в отдельном артефакте -ktx больше нецелесообразно, поскольку основной артефакт перенесен на Kotlin. ( I8659a ) - Перевод
LongSparseArray
в Kotlin. Это изменение добавляет явные значения null к его типам, что является бинарно совместимым изменением, но может привести к несовместимости исходного кода. В частности: *.isEmpty
больше не доступен как свойство, к нему необходимо обращаться через вызов функции в Kotlin —.isEmpty()
( Idfd0f ). - Конвертация
SimpleArrayMap
в Kotlin. Это изменение вносит несколько несовместимых изменений, связанных с взаимодействием Java и Kotlin и возможностью корректного определения null-типов в исходном коде.- Частные API пакета,
.mSize
,.mArray
,.mHashes
,.indexOf()
,.indexOfNull()
и.indexOfValue()
, были сделаны частными — технически это бинарно несовместимое изменение, но оно отражает предполагаемую видимость этих полей и является самым близким к тому, что мы можем достичь в Kotlin, поскольку он не включает способ указать видимость, доступную только в пакете. - Недействительность некоторых типов теперь определена правильно, затронуты следующие методы:
.getOrDefault
,.keyAt
,.valueAt
,.setValueAt
,.put
,.putIfAbsent
,.removeAt
,.replace
. - Для пользователей Kotlin
.isEmpty()
теперь доступен только как функция, а не через доступ к свойству. ( I271b7 , b/182813986 )
- Частные API пакета,
Конвертация
CircularArray
в Kotlin. Важные изменения:- Исправляет недействительность своих дженериков, делая их ненулевыми, что ранее было невозможно объявить, но было обеспечено во всех его публичных API.
- Благодаря взаимодействию Kotlin с Java ранее можно было обращаться к некоторым методам как к свойствам или функциям. Однако, чтобы уменьшить дублирование и сохранить двоичную совместимость, пришлось удалить эти изменения, что является несовместимым с исходным кодом изменением. Затронутые вызовы:
.isEmpty
,.getLast()
и.getFirst()
. ( Ifffac )
Преобразование
CircularIntArray
в Kotlin. Благодаря взаимодействию Kotlin с Java ранее можно было обращаться к некоторым методам как к свойствам или функциям. Однако, чтобы уменьшить дублирование и сохранить двоичную совместимость, пришлось удалить эти методы, что является несовместимым с исходным кодом изменением. Затронутые вызовы:.isEmpty
,.getLast()
и.getFirst()
. ( Ie36ce )Конвертировать
LruCache
в Kotlin ( Ia2f19 )Конвертировать
SparseArrayCompat
в Kotlin. ( If6fe8 )Небольшое изменение поведения добавлено в
SparseArrayCompat.valueAt()
, который больше не возвращает ошибочное значениеnull
для неинициализированных вызовов, выходящих за границыsize()
, но находящихся в пределах предоставленной начальной емкости.Это изменение также вводит корректное значение null для некоторых типов, чего ранее не было.
-
.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)
-
Версия 1.2.0
Версия 1.2.0
1 декабря 2021 г.
Выпущены androidx.collection:collection:1.2.0
и androidx.collection:collection-ktx:1.2.0
. Версия 1.2.0 содержит эти коммиты.
Важные изменения с версии 1.1.0
- Добавить конструктор массива в
ArraySet
. ( Id7f19 ) - Сделайте
entrySet()
совместимым с API, реализовавentrySet().toArray()
,remove()
,removeAll()
иretainAll()
, а также удалив реализациюentrySet().addAll()
( I5d505 )
Версия 1.2.0-rc01
17 ноября 2021 г.
Выпущены androidx.collection:collection:1.2.0-rc01
и androidx.collection:collection-ktx:1.2.0-rc01
. Версия 1.2.0-rc01 содержит эти коммиты.
Изменения API
- Никаких изменений по сравнению с предыдущей бета-версией.
Версия 1.2.0-beta01
13 октября 2021 г.
Выпущены androidx.collection:collection:1.2.0-beta01
и androidx.collection:collection-ktx:1.2.0-beta01
. Версия 1.2.0-beta01 содержит эти коммиты.
Исправления ошибок
- Сделайте
entrySet()
совместимым с API, реализовавentrySet().toArray()
,remove()
,removeAll()
иretainAll()
, а также удалив реализациюentrySet().addAll()
( I5d505 )
Версия 1.2.0-альфа01
16 декабря 2020 г.
Выпущены androidx.collection:collection:1.2.0-alpha01
и androidx.collection:collection-ktx:1.2.0-alpha01
. Версия 1.2.0-alpha01 содержит эти коммиты.
Изменения API
- Добавить конструктор массива в
ArraySet
. ( Id7f19 )
Версия 1.1.0
Версия 1.1.0
5 июня 2019 г.
Выпущены androidx.collection:collection:1.1.0
и androidx.collection:collection-ktx:1.1.0
. Коммиты, включающие версию 1.1.0, можно найти здесь .
Ниже представлен обзор изменений с версии 1.0.0 по версию 1.1.0:
Новые функции
- Используйте более эффективную реализацию функций
contains
иisNotEmpty
в артефакте 'collection-ktx'. ( aosp/866529 )
Изменения API
- Добавить
putIfAbsent
вLongSparseArray
,SimpleArrayMap
иSparseArrayCompat
( aosp/772608 ) - Добавить
getOrDefault
вSimpleArrayMap
( aosp/772607 ) - Добавлено
remove
двух аргументов дляLongSparseArray
,SimpleArrayMap
иSparseArrayCompat
. Отменить поддержку соответствующих расширений KTX для этой функциональности. ( aosp/772482 ) - Добавить
replace
с двумя аргументами вLongSparseArray
,SimpleArrayMap
иSparseArrayCompat
( aosp/772483 ) - Добавить
replace
с тремя аргументами вLongSparseArray
,SimpleArrayMap
иSparseArrayCompat
( aosp/772484 ) - Отменить поддержку избыточных методов
delete
. Методremove
предлагает тот же API и функциональность, что и API, используемый неспециализированными картами. ( aosp/866053 )
Исправления ошибок
- Измените
SimpleArrayMap
так, чтобы его внутренний глобальный кэш массивов синхронизировался сSimpleArrayMap.class
вместоArrayMap.class
. Это гарантирует, что при использовании толькоSimpleArrayMap
,ArrayMap
можно будет удалить инструментами сжатия кода. ( aosp/934557 )
Версия 1.1.0-rc01
7 мая 2019 г.
Выпущены androidx.collection:collection:1.1.0-rc01
и androidx.collection:collection-ktx:1.1.0-rc01
. Изменения, включённые в эту версию, можно найти здесь .
Новые функции
- Используйте более эффективную реализацию функций
contains
иisNotEmpty
в артефакте 'collection-ktx'. ( aosp/866529 )
Версия 1.1.0-beta01
3 апреля 2019 г.
Выпущены androidx.collection:collection:1.1.0-beta01
и androidx.collection:collection-ktx:1.1.0-beta01
. Изменения, включённые в эту версию, можно найти здесь .
Изменения API
- Метод, упомянутый в примечаниях к выпуску alpha03 , где было изменено значение
@RestrictTo
, был удалён. Он не использовался ни одной библиотекой AndroidX (ни сейчас, ни ранее) и не предлагал никакой функциональности, отсутствовавшей в публичном API.
Исправления ошибок
- Измените
SimpleArrayMap
так, чтобы его внутренний глобальный кэш массивов синхронизировался сSimpleArrayMap.class
вместоArrayMap.class
. Это гарантирует, что при использовании толькоSimpleArrayMap
,ArrayMap
можно будет удалить инструментами сжатия кода. ( aosp/934557 )
Версия 1.1.0-альфа03
13 марта 2019 г.
Выпущены androidx.collection:collection:1.0.0-alpha03
и androidx.collection:collection-ktx:1.0.0-alpha03
. Полный список изменений, включённых в эту версию, можно найти здесь .
Изменения API
- Метод класса
ArraySet
, ранее обозначенный как@RestrictTo(LIBRARY_GROUP)
был изменён на@RestrictTo(LIBRARY_GROUP_PREFIX)
. Это сделано для поддержки исторического использования другими библиотеками AndroidX, которые теперь находятся в других группах Maven. Этот метод будет либо опубликован, либо удалён в версии 1.1.0-alpha04, поскольку другие библиотеки AndroidX не должны получать специальные API, недоступные другим разработчикам.
Версия 1.1.0-альфа02
30 января 2019 г.
Выпущены androidx.collection:collection 1.1.0-alpha02
и androidx.collection:collection-ktx 1.1.0-alpha02
.
Изменения API
- Отменить поддержку избыточных методов
delete
. Методыremove
предлагают тот же API и функционал, что и API, используемый неспециализированными картами. ( aosp/866053 )
Версия 1.1.0-альфа01
3 декабря 2018 г.
Изменения API
- Добавить
putIfAbsent
вLongSparseArray
,SimpleArrayMap
иSparseArrayCompat
( aosp/772608 ) - Добавить
getOrDefault
вSimpleArrayMap
( aosp/772607 ) - Добавлено
remove
двух аргументов дляLongSparseArray
,SimpleArrayMap
иSparseArrayCompat
. Отменить поддержку соответствующих расширений KTX для этой функциональности. ( aosp/772482 ) - Добавить
replace
с двумя аргументами вLongSparseArray
,SimpleArrayMap
иSparseArrayCompat
( aosp/772483 ) - Добавить
replace
с тремя аргументами вLongSparseArray
,SimpleArrayMap
иSparseArrayCompat
( aosp/772484 )