Kolekcja

  
Zmniejsz wpływ na pamięć istniejących i nowych kolekcji o małej objętości.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
11 grudnia 2024 r. 1.4.5 - 1.5.0-beta01 -

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 dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.5

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 SieveCacheOrderedScatterSet 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 commity.

Zmiany w interfejsie API

  • Aktualizacja wersji Kotlina do 1.9 (I1a14c)

Darowizna zewnętrzna

  • Przekieruj contains do containsKey. 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

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 dla LruCache, która zapewnia lepsze współczynniki trafień. (I50a17)
  • Wyświetlono wewnętrzną reprezentację packedValue w przypadku IntIntPairFloatFloatPair. (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 komity.

Poprawki błędów

  • Usunięto uszkodzenia, które mogły wystąpić w funkcjach ScatterMapScatterSet oraz ich prymitywnych wariantach. (I38a4a, b/352560465)
  • optymalizacja wydajności; W szczególności:
    • Zastąp wywołania check()required() 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 podręcznej i.
    • Ulepszona funkcja removeDeletedMarkers() w rodzaju kolekcji „scatter”. Nowa wersja usuwa 8 znaczników jednocześnie i podczas tego procesu pomija droższe zapisy. (Ic0566)

Wersja 1.4.2

24 lipca 2024 r.

androidx.collection:collection-*:1.4.2 został zwolniony. Wersja 1.4.2 zawiera te komitowane zmiany.

Nowe funkcje

  • Obejmuje dodatkowe platformy docelowe Kotlin Multiplatform: watchos, tvoslinuxArm64. (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ętym obiekcie z mapy lub 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 interfejsem MutableMap i Map-like API
  • MutableScatterSet i ScatterSet – zajęcia z interfejsem API MutableSet i Set-like
  • MutableObjectList & ObjectList – klasy z interfejsem MutableList 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

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ć awarię z powodu funkcji IndexOutOfBoundsException. (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 jak FloatFloatMap.
  • Przekształcanie metod removeIf w przypadku kolekcji prymitywnych, takich jak MutableFloatFloatMap, na metody wbudowane. Dzięki temu lambda dla removeIf 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 interfejsem MutableMap i Map-like API
  • MutableScatterSet i ScatterSet – zajęcia z interfejsem API MutableSet i Set-like
  • MutableObjectList & ObjectList – klasy z interfejsem MutableList 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 do MutableList<Int|Float|Long>. Istnieje też konto [Int|Float|Long]List tylko do odczytu. Na przykład liczby całkowite mogą być przechowywane w polu IntList.
  • Mutable[Int|Float|Long]Set – klasy z interfejsem API podobnym do MutableSet<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 do Mutable<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 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.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. Pamiętaj, że kolekcje na platformach innych niż Android są nadal w wersji eksperymentalnej, ale postanowiliśmy 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 od collection:collection-ktx, zastępując je zależnościami od collection: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 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 funkcji MutableCollections zamiast AbstractMutableCollection, 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-alpha02androidx.collection:collection-ktx:1.3.0-alpha02 są dostępne. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.

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-alpha01androidx.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 kolekcji 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. (I6eef2)

Zmiany w interfejsie API

  • ArraySet rozszerza teraz 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 nie T?:
      • ArraySet<T>.contains(null)
      • ArraySet<T>.add(null)
      • ArraySet<T>.remove(null)
    • Te wywołania mają typ zwracany T?, a nie T!:
      • 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życie set.toTypedArray()
      • set.toArray(array) – użycie set.forEachIndexed(array::set)
  • 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 API SparseArrayCompat 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ść, która jest zgodna z binarną zmianą, ale może powodować niezgodność źródła. 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 nieważności typów w źródle.
    • Interfejsy API prywatne pakietu .mSize, .mArray, .mHashes, .indexOf(), .indexOfNull().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.replace.
    • Użytkownicy Kotlina mogą teraz wywoływać funkcję .isEmpty() tylko za pomocą dostępu do właściwości, a nie bezpośrednio. (I271b7, b/182813986)
  • 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 plików, co jest zmianą niezgodną z źródłem. Dotyczy to funkcji .isEmpty, .getLast().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().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ści null w przypadku nieinicjowanych wywołań spoza zakresu size(), 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.0androidx.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 interfejsy entrySet().toArray(), remove(), removeAll()retainAll() oraz usuń interfejs entrySet().addAll() (I5d505).

Wersja 1.2.0-rc01

17 listopada 2021 r.

androidx.collection:collection:1.2.0-rc01androidx.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-beta01androidx.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 interfejsy entrySet().toArray(), remove(), removeAll()retainAll() oraz usuń implementację interfejsu entrySet().addAll() (I5d505).

Wersja 1.2.0-alpha01

16 grudnia 2020 roku

androidx.collection:collection:1.2.0-alpha01androidx.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.0androidx.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 containsisNotEmpty w pliku artefaktu „collection-ktx”. (aosp/866529)

Zmiany w interfejsie API

  • Dodaj użytkowników putIfAbsent do albumów LongSparseArray, SimpleArrayMap i SparseArrayCompat (aosp/772608)
  • Dodaj getOrDefault do SimpleArrayMap (aosp/772607)
  • Dodaj do LongSparseArray, SimpleArrayMapSparseArrayCompat funkcję remove z 2 argumentami. wycofać odpowiednie rozszerzenia KTX obsługujące tę funkcję. (aosp/772482)
  • Dodanie do funkcji LongSparseArray, SimpleArrayMapSparseArrayCompat parametru replace z 2 argumentami (aosp/772483)
  • Dodaj do funkcji LongSparseArray, SimpleArrayMapSparseArrayCompat argument replace o 3 wartościach (aosp/772484)
  • wycofać zbędne metody delete. Metoda remove 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 serwerze SimpleArrayMap.class zamiast na serwerze ArrayMap.class. Dzięki temu, jeśli używasz tylko SimpleArrayMap, 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-rc01androidx.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 containsisNotEmpty w pliku artefaktu „collection-ktx”. (aosp/866529)

Wersja 1.1.0-beta01

3 kwietnia 2019 r.

androidx.collection:collection:1.1.0-beta01androidx.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ł 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ść parametru SimpleArrayMap, aby zsynchronizować wewnętrzną globalną pamięć podręczną tablic na serwerze SimpleArrayMap.class zamiast na serwerze ArrayMap.class. Dzięki temu, jeśli używasz tylko SimpleArrayMap, 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-alpha03androidx.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 tych bibliotek 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-alpha02androidx.collection:collection-ktx 1.1.0-alpha02 są dostępne.

Zmiany w interfejsie API

  • wycofać zbędne metody delete. Metody remove 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ów LongSparseArray, SimpleArrayMap i SparseArrayCompat (aosp/772608)
  • Dodaj getOrDefault do SimpleArrayMap (aosp/772607)
  • Dodaj do LongSparseArray, SimpleArrayMapSparseArrayCompat funkcję remove z 2 argumentami. wycofać odpowiednie rozszerzenia KTX obsługujące tę funkcję. (aosp/772482)
  • Dodanie do funkcji LongSparseArray, SimpleArrayMapSparseArrayCompat parametru replace z 2 argumentami (aosp/772483)
  • Dodaj do funkcji LongSparseArray, SimpleArrayMapSparseArrayCompat argument replace o 3 wartościach (aosp/772484)