Kolekcja
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
29 stycznia 2025 r. | 1.4.5 | - | 1.5.0-beta03 | - |
Deklarowanie zależności
Aby dodać zależność od Collection, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Groovy
dependencies { def collection_version = "1.4.5" implementation "androidx.collection:collection:$collection_version" }
Kotlin
dependencies { val collection_version = "1.4.5" implementation("androidx.collection:collection:$collection_version") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos w sprawie istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.5
Wersja 1.5.0-beta03
29 stycznia 2025 r.
androidx.collection:collection-*:1.5.0-beta03
został zwolniony. Wersja 1.5.0-beta03 zawiera te komisy.
Wersja 1.5.0-beta02
15 stycznia 2025 r.
androidx.collection:collection-*:1.5.0-beta02
został zwolniony. Wersja 1.5.0-beta02 zawiera te commity.
Wersja 1.5.0-beta01
11 grudnia 2024 r.
androidx.collection:collection-*:1.5.0-beta01
został zwolniony. Wersja 1.5.0-beta01 zawiera te komity.
Zmiany w interfejsie API
- Dodano obsługę
watchosDeviceArm64
KMP target i target kotlin 1.9 (Icf15d, b/364652024).
Wersja 1.5.0-alpha06
13 listopada 2024 r.
androidx.collection:collection-*:1.5.0-alpha06
został zwolniony. Wersja 1.5.0-alpha06 zawiera te komity.
Poprawki błędów
- Usunięto awarię, która mogła wystąpić w wersjach
SieveCache
iOrderedScatterSet
podczas dodawania wielu elementów, co powodowało powtarzające się kolizje kluczy. (Iaaf3d, b/375607736) - Dodaj do biblioteki kolekcji cel wasm. (I66fe3, b/352722444)
Wersja 1.5.0-alpha05
30 października 2024 r.
androidx.collection:collection-*:1.5.0-alpha05
został zwolniony. Wersja 1.5.0-alpha05 zawiera te komisy.
Wersja 1.5.0-alpha04
16 października 2024 r.
androidx.collection:collection-*:1.5.0-alpha04
został zwolniony. Wersja 1.5.0-alpha04 zawiera te komity.
Wersja 1.5.0-alpha03
2 października 2024 r.
androidx.collection:collection-*:1.5.0-alpha03
został zwolniony. Wersja 1.5.0-alpha03 zawiera te komity.
Zmiany w interfejsie API
- Aktualizacja wersji Kotlina do 1.9 (I1a14c)
Darowizna zewnętrzna
- Przekieruj
contains
docontainsKey
. Dziękuję, Jake Wharton! (I9362b) - Dodawanie kreatorów kontenerów dla kolekcji specjalizowanych pod kątem skalarów. Dziękuję, Jake Wharton! (I13179)
Wersja 1.5.0-alpha02
18 września 2024 r.
androidx.collection:collection-*:1.5.0-alpha02
został zwolniony. Wersja 1.5.0-alpha02 zawiera te komity.
Zmiany w interfejsie API
- Dodano obsługę platformy docelowej
watchosDeviceArm64
. (I1cc04, b/364652024)
Wersja 1.5.0-alpha01
4 września 2024 r.
androidx.collection:collection-*:1.5.0-alpha01
został zwolniony. Wersja 1.5.0-alpha01 zawiera te komity.
Zmiany w interfejsie API
OrderedScatterSet
to nowa kolekcja z przypisanymi elementami, bez przydziału (Ic4178)SieveCache
to nowa, niewymagająca przydziału wymiana dlaLruCache
, która zapewnia lepsze współczynniki trafień. (I50a17)- Wyświetlono wewnętrzną reprezentację
packedValue
w przypadkuIntIntPair
iFloatFloatPair
. (Ifeb75, b/331853566) - Dodawanie dostępu do tablicy treści w kolekcjach list. (I899d5, b/333903173)
- Dodaj
DoubleList
, strukturę danych podobną do listy zoptymalizowaną pod kątem wartości podwójnych. (Ia10d1, b/315127635)
Poprawki błędów
- Biblioteka kolekcji przechodzi na Kotlin 1.9 (I0782f)
- Zoptymalizuj wiele kolekcji, aby zwiększyć ich wydajność. (Ic0566)
Wersja 1.4
Wersja 1.4.5
30 października 2024 r.
androidx.collection:collection-*:1.4.5
został zwolniony. Wersja 1.4.5 zawiera te komity.
Wersja 1.4.4
18 września 2024 r.
androidx.collection:collection-*:1.4.4
został zwolniony. Wersja 1.4.4 zawiera te komitowane zmiany.
Poprawki błędów
- Obejście
ArrayIndexOutOfBounds
podczas sortowania pustej kolekcji. (I65245)
Wersja 1.4.3
7 sierpnia 2024 r.
androidx.collection:collection-*:1.4.3
został zwolniony. Wersja 1.4.3 zawiera te komisy.
Poprawki błędów
- Usunięto uszkodzenie, które mogło wystąpić w funkcjach
ScatterMap
iScatterSet
oraz ich prymitywnych wariantach. (I38a4a, b/352560465) - optymalizacja wydajności; W szczególności:
- Zastąp wywołania
check()
irequired()
wariantami, które nie powodują zgłaszania wyjątków. Zmniejsza to rozmiar końcowego pliku binarnego, a co ważniejsze, nieco zmniejsza obciążenie pamięci i-cache. - Ulepszona funkcja
removeDeletedMarkers()
w rodzaju kolekcji „rozproszenie”. Nowa wersja usuwa 8 znaczników jednocześnie i podczas tego procesu pomija droższe zapisy. (Ic0566)
- Zastąp wywołania
Wersja 1.4.2
24 lipca 2024 r.
androidx.collection:collection-*:1.4.2
został zwolniony. Wersja 1.4.2 zawiera te komity.
Nowe funkcje
- Obejmuje dodatkowe platformy docelowe Kotlin Multiplatform:
watchos
,tvos
ilinuxArm64
. (b/352543988)
Wersja 1.4.1
10 lipca 2024 r.
androidx.collection:collection-*:1.4.1
został zwolniony. Wersja 1.4.1 zawiera te komity.
Poprawki błędów
- Usuwanie usuniętej informacji o usunięciu z mapy/z zestawu podczas zmiany rozmiaru. (7a996c5, b/345960092)
Wersja 1.4.0
24 stycznia 2024 r.
androidx.collection:collection-*:1.4.0
został zwolniony. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
Dodano nowe kolekcje o wysokiej wydajności do przechowywania prymitywów bez boksowania:
MutableScatterMap
&ScatterMap
– klasy z interfejsemMutableMap
i Map-like APIMutableScatterSet
&ScatterSet
– zajęcia z interfejsemMutableSet
i Set-like APIMutableObjectList
&ObjectList
– klasy z interfejsemMutableList
i interfejsem List-like API
Na przykład mapa z kluczem liczbowym i wartością typu odwołania to IntObjectMap<T>
. Mapowanie z długim kluczem i wartością zmiennoprzecinkową to LongFloatMap
. Nie ma wersji o nazwie ObjectObjectMap
, ponieważ jest ona objęta wersją ScatterMap/MutableScatterMap
.
Wersja 1.4.0-rc01
10 stycznia 2024 r.
androidx.collection:collection-*:1.4.0-rc01
jest opublikowany bez wprowadzenia zmian. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Wersja 1.4.0-beta02
29 listopada 2023 r.
androidx.collection:collection-*:1.4.0-beta02
został zwolniony. Wersja 1.4.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Poprawiona wydajność
FloatFloatPair
. (If5537)
Poprawki błędów
ScatterMap.asMap()
iterator zwraca teraz nowe instancje (I28932, b/310365754)
Wersja 1.4.0-beta01
15 listopada 2023 r.
androidx.collection:collection-*:1.4.0-beta01
został zwolniony. Wersja 1.4.0-beta01 zawiera te commity.
Poprawki błędów
- Rozwiązanie problemu polegający na nieprawidłowym ustawianiu wartości w funkcji
ListIterator
(ObjectList
), co może spowodować jej zamykanie z powodu funkcjiIndexOutOfBoundsException
. (I3bd8a, b/307049391)
Wersja 1.4.0-alpha02
18 października 2023 r.
androidx.collection:collection-*:1.4.0-alpha02
został zwolniony. Wersja 1.4.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Dodano przeciążenie funkcji
put
, która zwraca poprzednią wartość, gdy zostanie zastąpiona wszystkimi prymitywnymi kolekcjami, takimi jakFloatFloatMap
. - Przekształcanie metod
removeIf
w przypadku kolekcji prymitywnych, takich jakMutableFloatFloatMap
, na metody wbudowane. Dzięki temu lambda dlaremoveIf
nie zostanie przydzielona.
Wersja 1.4.0-alpha01
4 października 2023 roku
androidx.collection:collection-*:1.4.0-alpha01
został zwolniony. Wersja 1.4.0-alpha01 zawiera te commity.
Nowe funkcje
Dodano nowe kolekcje o wysokiej wydajności, które mają niskie obciążenie przy przypisywaniu i wysoką wydajność:
MutableScatterMap
&ScatterMap
– klasy z interfejsemMutableMap
i Map-like APIMutableScatterSet
&ScatterSet
– zajęcia z interfejsemMutableSet
i Set-like APIMutableObjectList
&ObjectList
– klasy z interfejsemMutableList
i interfejsem List-like API
Dodano nowe kolekcje o wysokiej wydajności do przechowywania prymitywów bez boksowania:
Mutable[Int|Float|Long]List
– klasy z interfejsem API podobnym doMutableList<Int|Float|Long>
. Istnieje też konto[Int|Float|Long]List
tylko do odczytu. Na przykład liczby całkowite mogą być przechowywane w poluIntList
.Mutable[Int|Float|Long]Set
– klasy z interfejsem API podobnym doMutableSet<Int|Float|Long>
. Istnieje też konto[Int|Float|Long]Set
tylko do odczytu. Na przykład w IntSet mogą być przechowywane liczby całkowite.Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map
– klasy z interfejsem API podobnym doMutable<Int|Float|Long,T, Int|Float|Long|T>
. Istnieje też konto[Int|Float|Long|Object][Int|Float|Long|Object]Map
tylko do odczytu. Na przykład mapa z kluczem liczbowym i wartością typu odwołania toIntObjectMap<T>
. Mapowanie z długim kluczem i wartością zmiennoprzecinkową toLongFloatMap
. Nie ma wersji o nazwieObjectObjectMap
, ponieważ jest ona objęta wersjąScatterMap/MutableScatterMap
.
Wersja 1.3.0
Wersja 1.3.0
4 października 2023 roku
androidx.collection:collection-*:1.3.0
został zwolniony. Wersja 1.3.0 zawiera te commity.
Ważne zmiany od wersji 1.2.0
- Kolekcje można teraz używać w projektach Kotlin Multiplatform. Kolekcje na platformach innych niż Android są nadal w wersji eksperymentalnej, ale zdecydowaliśmy się połączyć wersje, aby ułatwić deweloperom ich wypróbowanie.
- Cały kod źródłowy został przeniesiony do Kotlina. W ramach tej zmiany wiele interfejsów API ma teraz prawidłowo określony typ w przypadku wartości null, a kilka prywatnych elementów pakietu zostało oznaczonych jako
internal
. Lista dokładnych zmian znajduje się w informacji o wersji 1.3.x poniżej. - Wraz z migracją Kotlina artefakt
collection-ktx
został połączony z artefaktem głównej kolekcji. Możesz bezpiecznie usunąć wszystkie zależności odcollection:collection-ktx
, ponieważcollection:collection
jest teraz pusty.collection-ktx
Wersja 1.3.0-rc01
6 września 2023 r.
androidx.collection:collection-*:1.3.0-rc01
jest opublikowany bez wprowadzenia zmian. Wersja 1.3.0-rc01 zawiera te commity.
Wersja 1.3.0-beta01
9 sierpnia 2023 r.
androidx.collection:collection-*:1.3.0-beta01
został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.3.0-alpha04
24 marca 2023 r.
androidx.collection:collection-*:1.3.0-alpha04
został zwolniony.
Poprawki błędów
- Usunięto ograniczenia zależności z artefaktów Maven, aby obejść problem z tworzeniem w Kotlin Native Targets (b/274786186, KT-57531).
Wersja 1.3.0-alpha03
22 marca 2023 r.
androidx.collection:collection-*:1.3.0-alpha03
został zwolniony. Wersja 1.3.0-alpha03 zawiera te commity.
Nowe funkcje
- Kolekcje możesz teraz używać w projektach KMM. Kolekcje na platformach innych niż Android są nadal w wersji eksperymentalnej, ale zdecydowaliśmy się połączyć wersje, aby ułatwić deweloperom ich wypróbowanie.
Zmiany w interfejsie API
ArraySet
używa teraz funkcjiMutableCollections
zamiastAbstractMutableCollection
, aby umożliwić bardziej wydajne wykorzystanie pamięci przez funkcjętoArray
(I1ac32).
Poprawki błędów
ArraySet.toArray
jest teraz dostępna tylko w JVM, ponieważ zawsze była dołączana tylko ze względu na zgodność z językiem Java. Użytkownicy Kotlina powinni zamiast tego używać pomocników.toTypedArray
z stdlib, które zapewniają dokładnie te same funkcje z dodatkowym zabezpieczeniem typów. (I2c59b)
Wersja 1.3.0-alpha02
27 lipca 2022 roku
androidx.collection:collection:1.3.0-alpha02
i androidx.collection:collection-ktx:1.3.0-alpha02
są dostępne. Wersja 1.3.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
SparseArrayCompat
jest teraz dostępny na platformach innych niż JVM z użyciem wspólnego artefaktu (Ic9bd0, b/219589118, b/228347315).CircularIntArray
jest teraz dostępny na platformach innych niż JVM z użytkiem z wspólnego artefaktu (I3d8ef, b/228344943).LongSparseArray
jest teraz dostępny na platformach innych niż JVM z wspólnego artefaktu (I73149, b/228347315).
Wersja 1.3.0-alpha01
29 czerwca 2022 r.
androidx.collection:collection:1.3.0-alpha01
i androidx.collection:collection-ktx:1.3.0-alpha01
są dostępne. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
collection-ktx
rozszerzeń zostały przeniesione do głównego artefaktu kolekcjiandroidx.collection:collection
. Ta zmiana sprawia, że istniejące rozszerzenia -ktx są dostępne dla użytkowników Kotlina bez konieczności korzystania z zależności -ktx, przy jednoczesnym zachowaniu zgodności dla dotychczasowych użytkowników. Utrzymywanie tych rozszerzeń w osobnym pliku -ktx nie ma już sensu, ponieważ główny plik został przeniesiony do Kotlina. (I6eef2)
Zmiany w interfejsie API
ArraySet
rozszerza terazAbstractMutableCollection
i nie implementuje już bezpośrednio interfejsu Collection. (If6da0, b/230860589)- Konwertowanie
ArraySet
na Kotlin. Ze względu na bardziej rygorystyczne typowanie niektóre wywołania Kotlina mogą przestać się kompilować. (Id68c1, b/230860589)- Te wywołania mają argument typu
T
, a nieT?
:ArraySet<T>.contains(null)
ArraySet<T>.add(null)
ArraySet<T>.remove(null)
- Te wywołania mają typ zwracany
T?
, a nieT!
:ArraySet<T?>.valueAt(n)
ArraySet<T?>.removeAt(n)
ArraySet<T?>().iterator().next()
- Z poziomu Kotlina nie można już wykonywać tych wywołań:
set.toArray()
– użycieset.toTypedArray()
set.toArray(array)
– użycieset.forEachIndexed(array::set)
- Te wywołania mają argument typu
- Połącz przeciążony konstruktor dla
SparseArrayCompat
jako opcjonalny argument dla użytkowników Kotlina. (If8407, b/227474719) - Usuń składnię operatora w przypadku
SparseArrayCompat.get(key, defaultValue).
. Pamiętaj, że nadal możesz używać tej składni w przypadku.get(key)
, ale w ten sposób lepiej dopasujesz interfejs APISparseArrayCompat
do innych klas w tej bibliotece. (I9a38d) - Przekształć rozszerzenia
LongSparseArray
w główny element, androidx.collection:collection. Ta zmiana sprawia, że istniejące rozszerzenia -ktx są dostępne dla użytkowników Kotlina bez konieczności korzystania z zależności -ktx, przy jednoczesnym zachowaniu zgodności dla dotychczasowych użytkowników. Utrzymywanie tych rozszerzeń w osobnym pliku -ktx nie ma już sensu, ponieważ główny plik został przeniesiony do Kotlina. (I8659a) - Przekształć
LongSparseArray
na Kotlin. Ta zmiana dodaje do typów jawną nieważność, co jest zmianą zgodną z binarną reprezentacją, ale może powodować niezgodność ze źródłem. W szczególności: *.isEmpty
nie jest już dostępna jako właściwość, należy do niej uzyskać dostęp jako do wywołania funkcji w Kotlinie –.isEmpty()
(Idfd0f). - Przekształć
SimpleArrayMap
na Kotlin. Ta zmiana wprowadza kilka niezgodnych zmian, które wynikają z interoperacyjności Javy i Kotlina oraz możliwości prawidłowego definiowania pustości typów w źródle.- Interfejsy API prywatne pakietu
.mSize
,.mArray
,.mHashes
,.indexOf()
,.indexOfNull()
i.indexOfValue()
zostały oznaczone jako prywatne – jest to technicznie zmiana niezgodna z binarną wersją, ale odzwierciedla zamierzoną widoczność tych pól i jest najbliższa temu, co możemy osiągnąć w Kotlinie, ponieważ nie ma sposobu na określenie widoczności prywatnej pakietu. - Nieważność niektórych typów jest teraz prawidłowo zdefiniowana. Dotyczy to metod:
.getOrDefault
,.keyAt
,.valueAt
,.setValueAt
,.put
,.putIfAbsent
,.removeAt
i.replace
. - Użytkownicy Kotlina mogą teraz wywoływać funkcję
.isEmpty()
tylko za pomocą dostępu do właściwości, a nie tylko w ten sposób. (I271b7, b/182813986)
- Interfejsy API prywatne pakietu
Przekształć
CircularArray
na Kotlin. Ważne zmiany:- Poprawiono nieważność typów ogólnych na nie-null, co wcześniej było niemożliwe do zadeklarowania, ale było wymuszane we wszystkich publicznych interfejsach API.
- Ze względu na interoperacyjność Kotlina z językiem Java wcześniej można było uzyskać dostęp do niektórych metod zarówno jako właściwości, jak i funkcji. Jednak aby zmniejszyć duplikację przy zachowaniu zgodności binarnej, konieczne było usunięcie tych elementów, co jest zmianą niezgodną z źródłem. Dotyczy to wywołań
.isEmpty
,.getLast()
i.getFirst()
. (Ifffac)
Przekształć
CircularIntArray
na Kotlin. Ze względu na interoperacyjność Kotlina z językiem Java wcześniej można było uzyskać dostęp do niektórych metod jako właściwości i funkcji. Jednak aby zmniejszyć duplikowanie przy zachowaniu zgodności binarnej, konieczne było usunięcie tych plików, co jest zmianą niezgodną ze źródłem. Połączenia, których to dotyczy, to:.isEmpty
,.getLast()
i.getFirst()
. (Ie36ce)Przekształć
LruCache
na Kotlin (Ia2f19)Przekształć
SparseArrayCompat
na Kotlin. (If6fe8)W funkcji
SparseArrayCompat.valueAt()
wprowadzono niewielką zmianę zachowania, dzięki której nie zwraca ona już nieprawidłowo wartościnull
w przypadku nieinicjowanych wywołań spoza zakresusize()
, ale w ramach podanej początkowej pojemności.Ta zmiana wprowadza też prawidłową wartość null dla niektórych typów, która wcześniej była niedostępna.
.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)
Wersja 1.2.0
Wersja 1.2.0
1 grudnia 2021 r.
androidx.collection:collection:1.2.0
i androidx.collection:collection-ktx:1.2.0
są dostępne. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- Dodaj konstruktor tablicy do klasy
ArraySet
. (Id7f19) - Spraw, aby aplikacja była zgodna z interfejsem API
entrySet()
. Aby to zrobić, zaimplementuj interfejsyentrySet().toArray()
,remove()
,removeAll()
iretainAll()
oraz usuń interfejsentrySet().addAll()
(I5d505)
Wersja 1.2.0-rc01
17 listopada 2021 r.
androidx.collection:collection:1.2.0-rc01
i androidx.collection:collection-ktx:1.2.0-rc01
są dostępne. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Brak zmian w porównaniu z poprzednią wersją beta.
Wersja 1.2.0-beta01
13 października 2021 r.
androidx.collection:collection:1.2.0-beta01
i androidx.collection:collection-ktx:1.2.0-beta01
są dostępne. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
- Spraw, aby aplikacja była zgodna z interfejsem API
entrySet()
. Aby to zrobić, zaimplementuj interfejsyentrySet().toArray()
,remove()
,removeAll()
iretainAll()
oraz usuń interfejsentrySet().addAll()
(I5d505)
Wersja 1.2.0-alpha01
16 grudnia 2020 roku
androidx.collection:collection:1.2.0-alpha01
i androidx.collection:collection-ktx:1.2.0-alpha01
są dostępne. Wersja 1.2.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Dodaj konstruktor tablicy do klasy
ArraySet
. (Id7f19)
Wersja 1.1.0
Wersja 1.1.0
5 czerwca 2019 r.
androidx.collection:collection:1.1.0
i androidx.collection:collection-ktx:1.1.0
są dostępne. Zmiany uwzględnione w wersji 1.1.0 znajdziesz tutaj.
Poniżej podsumowanie zmian w wersji 1.1.0 w porównaniu z wersją 1.0.0:
Nowe funkcje
- Użyj bardziej efektywnej implementacji funkcji
contains
iisNotEmpty
w pliku artefaktu „collection-ktx”. (aosp/866529)
Zmiany w interfejsie API
- Dodaj
putIfAbsent
do albumówLongSparseArray
,SimpleArrayMap
iSparseArrayCompat
(aosp/772608) - Dodaj
getOrDefault
doSimpleArrayMap
(aosp/772607) - Dodaj funkcję
remove
z 2 argumentami do funkcjiLongSparseArray
,SimpleArrayMap
iSparseArrayCompat
. wycofać odpowiednie rozszerzenia KTX obsługujące tę funkcję. (aosp/772482) - Dodanie do funkcji
LongSparseArray
,SimpleArrayMap
iSparseArrayCompat
parametrureplace
z 2 argumentami (aosp/772483) - Dodaj do funkcji
LongSparseArray
,SimpleArrayMap
iSparseArrayCompat
argumentreplace
o 3 wartościach (aosp/772484) - wycofać zbędne metody
delete
. Metodaremove
udostępnia ten sam interfejs API i te same funkcje co interfejs API używany przez niespecjalistyczne Mapy. (aosp/866053)
Poprawki błędów
- Zmień wartość
SimpleArrayMap
, aby zsynchronizować wewnętrzną globalną pamięć podręczną tablic na serwerzeSimpleArrayMap.class
zamiast na serwerzeArrayMap.class
. Dzięki temu, jeśli używasz tylkoSimpleArrayMap
, narzędzia do kompresji kodu mogą usunąćArrayMap
. (aosp/934557)
Wersja 1.1.0-rc01
7 maja 2019 r.
androidx.collection:collection:1.1.0-rc01
i androidx.collection:collection-ktx:1.1.0-rc01
są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- Użyj bardziej efektywnej implementacji funkcji
contains
iisNotEmpty
w pliku artefaktu „collection-ktx”. (aosp/866529)
Wersja 1.1.0-beta01
3 kwietnia 2019 r.
androidx.collection:collection:1.1.0-beta01
i androidx.collection:collection-ktx:1.1.0-beta01
są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.
Zmiany w interfejsie API
- Metoda wymieniona w notatkach do wersji alpha03, w której zmieniono wartość parametru
@RestrictTo
, została usunięta. Nie był używany przez żadną bibliotekę AndroidX (obecnie ani w przeszłości) i nie oferował żadnych funkcji, których brakowało w publicznych interfejsach API.
Poprawki błędów
- Zmień wartość
SimpleArrayMap
, aby zsynchronizować wewnętrzną globalną pamięć podręczną tablic na serwerzeSimpleArrayMap.class
zamiast na serwerzeArrayMap.class
. Dzięki temu, jeśli używasz tylkoSimpleArrayMap
, narzędzia do kompresji kodu mogą usunąćArrayMap
. (aosp/934557)
Wersja 1.1.0-alpha03
13 marca 2019 r.
Zasoby androidx.collection:collection:1.0.0-alpha03
i androidx.collection:collection-ktx:1.0.0-alpha03
są dostępne.
Pełną listę zatwierdzeń zawartych w tej wersji znajdziesz tutaj.
Zmiany w interfejsie API
- Metoda
ArraySet
, która wcześniej była oznaczona jako@RestrictTo(LIBRARY_GROUP)
, została zmieniona na@RestrictTo(LIBRARY_GROUP_PREFIX)
. Ma to na celu umożliwienie używania przez inne biblioteki AndroidX, które są teraz w różnych identyfikatorach grup Maven. Ta metoda zostanie udostępniona publicznie lub usunięta w wersji 1.1.0-alpha04, ponieważ inne biblioteki AndroidX nie powinny otrzymywać specjalnych interfejsów API, których nie mają inni deweloperzy.
Wersja 1.1.0-alpha02
30 stycznia 2019 r.
Zasoby androidx.collection:collection 1.1.0-alpha02
i androidx.collection:collection-ktx 1.1.0-alpha02
są dostępne.
Zmiany w interfejsie API
- wycofać zbędne metody
delete
. Metodyremove
udostępniają ten sam interfejs API i te same funkcje co interfejs API używany przez niespecjalistyczne Mapy. (aosp/866053)
Wersja 1.1.0-alpha01
3 grudnia 2018 r.
Zmiany w interfejsie API
- Dodaj
putIfAbsent
do albumówLongSparseArray
,SimpleArrayMap
iSparseArrayCompat
(aosp/772608) - Dodaj
getOrDefault
doSimpleArrayMap
(aosp/772607) - Dodaj funkcję
remove
z 2 argumentami do funkcjiLongSparseArray
,SimpleArrayMap
iSparseArrayCompat
. wycofać odpowiednie rozszerzenia KTX obsługujące tę funkcję. (aosp/772482) - Dodanie do funkcji
LongSparseArray
,SimpleArrayMap
iSparseArrayCompat
parametrureplace
z 2 argumentami (aosp/772483) - Dodaj do funkcji
LongSparseArray
,SimpleArrayMap
iSparseArrayCompat
argumentreplace
o 3 wartościach (aosp/772484)