Kolekcja
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
13 listopada 2024 r. | 1.4.5 | - | - | 1.5.0-alpha06 |
Deklarowanie zależności
Aby dodać zależność od kolekcji, 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 dodać swój głos do 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-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 błąd, który mógł powodować awarię 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) - Dodaj kreatory kontenerów dla kolekcji specjalizowanych pod kątem liczb rzeczywistych. 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świetla 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
, czyli 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 komity.
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 komitowane zmiany.
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 rodzinie kolekcji „scatter”. 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
iScatterSet
– zajęcia z interfejsem APIMutableSet
i Set-likeMutableObjectList
&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
w funkcjiObjectList
, co może spowodować awarię z powoduIndexOutOfBoundsException
. (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
iScatterSet
– zajęcia z interfejsem APIMutableSet
i Set-likeMutableObjectList
&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 liczby całkowite mogą być przechowywane w zbiorze IntSet.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 głównym artefaktem kolekcji. Możesz bezpiecznie usunąć wszystkie zależności odcollection:collection-ktx
, zastępując je zależnościami odcollection:collection
, ponieważcollection-ktx
jest teraz pusty.
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 przypadku docelowych platform natywnych Kotlina (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 efektywne 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 teraz klasęAbstractMutableCollection
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ż wywoływać tych funkcji:
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) - Przejdź do rozszerzeń
LongSparseArray
w głównym artefakcie 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ść, która jest zgodna z binarną zmianą, ale może powodować niezgodność źródła. W szczególności: *.isEmpty
nie jest już dostępne jako właściwość, należy uzyskać do niego 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 w ramach funkcji, a nie przez dostęp do właściwości. (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.
- Dzięki interoperacyjności 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 funkcji
.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)Konwertowanie
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 do
ArraySet
konstruktor tablicy. (Id7f19) - Spraw, aby aplikacja była zgodna z interfejsem API
entrySet()
. Aby to zrobić, zaimplementuj interfejsyentrySet().toArray()
,remove()
,removeAll()
iretainAll()
oraz usuń implementację interfejsuentrySet().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 commity.
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ń implementację interfejsuentrySet().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 do
ArraySet
konstruktor tablicy. (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 od wersji 1.0.0 do 1.1.0:
Nowe funkcje
- Użyj bardziej efektywnej implementacji funkcji
contains
iisNotEmpty
w pliku artefaktu „collection-ktx”. (aosp/866529)
Zmiany w interfejsie API
- Dodaj użytkowników
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 dla tej funkcji. (aosp/772482) - Dodaj do funkcji
LongSparseArray
,SimpleArrayMap
iSparseArrayCompat
argumentreplace
o 2 wartościach (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ść parametru
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
- Usunięto metodę wymienioną w notatkach do wersji alpha03, w której zmieniono wartość
@RestrictTo
. Nie była używana przez żadną bibliotekę AndroidX (obecnie ani w przeszłości) i nie oferowała żadnych funkcji, których brakowało w publicznych interfejsach API.
Poprawki błędów
- Zmień wartość parametru
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 korzystania z nich przez inne biblioteki AndroidX, które mają teraz inne identyfikatory 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 użytkowników
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 dla tej funkcji. (aosp/772482) - Dodaj do funkcji
LongSparseArray
,SimpleArrayMap
iSparseArrayCompat
argumentreplace
o 2 wartościach (aosp/772483) - Dodaj do funkcji
LongSparseArray
,SimpleArrayMap
iSparseArrayCompat
argumentreplace
o 3 wartościach (aosp/772484)