Koleksiyon

  
Küçük olan mevcut ve yeni koleksiyonların bellek üzerindeki etkisini azaltır.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
11 Şubat 2026 1.5.0 1.6.0-rc01 - -

Bağımlılıkları bildirme

Collection'a bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapıtların bağımlılıklarını ekleyin:

Groovy

dependencies {
    def collection_version = "1.5.0"
    implementation "androidx.collection:collection:$collection_version"
}

Kotlin

dependencies {
    val collection_version = "1.5.0"
    implementation("androidx.collection:collection:$collection_version")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme Bağımlılıkları Ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Sürüm 1.6

Sürüm 1.6.0-rc01

11 Şubat 2026

androidx.collection:collection-*:1.6.0-rc01 iptal edilir. 1.6.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.6.0-beta01

14 Ocak 2026

androidx.collection:collection-*:1.6.0-beta01 iptal edilir. 1.6.0-beta01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • .toScatterSet() ve .toScatterMap() uzantıları eklendi. Bunlar, değiştirilebilir dönüşüm işlevlerine salt okunur bir alternatif sunar ve kaynak koleksiyonu boş olduğunda ayırma içermeyen tekil öğeler döndürür. (I1769a, b/459867876)
  • MutableScatterMap(source) ve MutableScatterSet(source) sözde oluşturucularını standart .toMutableScatterMap() ve .toMutableScatterSet() uzantı işlevleriyle değiştirin. Bu, koleksiyon dönüşümleri için Kotlin kurallarıyla uyumludur. (Ic9ca6, b/459867876)
  • MutableScatterMap(Map) ve MutableScatterSet(Set) fabrika işlevlerini ekleyin. Mevcut bir koleksiyonun içeriğiyle önceden doldurulmuş bir dağıtım koleksiyonunu kolayca oluşturmak için bu işlevleri kullanın. (I51d70)

Hata Düzeltmeleri

  • Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için şu derleyici bağımsız değişkenini kullanmalıdır: -Xjspecify-annotations=strict (Bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir) (I05181, b/326456246)

Sürüm 1.6.0-alpha01

27 Ağustos 2025

androidx.collection:collection-*:1.6.0-alpha01 iptal edilir. 1.6.0-alpha01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir (Idb6b5).

Hata Düzeltmeleri

  • Daha önce SparseArrayCompat, ayrılan aralıkta ancak eklenen aralığın 0..size -1 dışında olan bir dizin geçirildiğinde valueAt için null, keyAt değerini döndürüyordu. Belgelendiği gibi, bu davranış hiçbir zaman beklenmedi ve geçerli giriş aralığının dışındaydı. Bu değişiklik, geçersiz bir dizin iletildiğinde bunun yerine IndexOutOfBounds oluşturacak şekilde bu davranışı düzeltir. (I68453)

Harici Katkı (External Contribution)

Aşağıdaki katkıları için Jake Wharton'a teşekkür ederiz:

  • Dahil edilen öğeleri sınırlarken kesme göstergesinin önüne ayırıcı, sonuna ise sonek ekleyerek joinToString davranışını platform koleksiyonlarıyla uyumlu hale getirin. (I1b7e8)
  • ScatterSet.hashCode artık özyinelemeye (ör. kümenin kendisine eklenmesi) karşı savunma yapmıyor. Bu, davranışını ScatterMap, HashSet ve ilkel dağılıma dayalı kümelerle (ör. LongSet). equals yönteminin zaten özyinelemeye yatkın olduğunu ve toString'nin buna karşı koruma sağladığını unutmayın. Her iki davranış da diğer koleksiyonlarla uyumludur. (I9c84a)
  • Lambda örneği oluşturulmasını önlemek için ScatterSet.retainAll işlevi artık satır içi. (Ifa4b7)
  • ScatterSet.hashCode, karma hesaplamasında artık kapasitesini kullanmıyor. Bu sayede, eşit içerikler ancak farklı kapasiteler yine de aynı değeri üretiyor. (Ic863b)
  • ScatterMap.asMap() veya ScatterSet.asSet() koleksiyonlarının keys, values ya da entries koleksiyonlarının yineleyicisinde next()'dan önce remove()'ı çağırırsanız artık IllegalStateException oluşturulur. Bu sayede, davranışını normal harita ve küme davranışıyla uyumlu hale getirir. (I71694)

Sürüm 1.5

Sürüm 1.5.0

12 Mart 2025

androidx.collection:collection-*:1.5.0 iptal edilir. 1.5.0 sürümü bu commit'leri içerir.

Sürüm 1.5.0-rc01

26 Şubat 2025

androidx.collection:collection-*:1.5.0-rc01 iptal edilir. 1.5.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.5.0-beta03

29 Ocak 2025

androidx.collection:collection-*:1.5.0-beta03 iptal edilir. 1.5.0-beta03 sürümü bu commit'leri içerir.

Sürüm 1.5.0-beta02

15 Ocak 2025

androidx.collection:collection-*:1.5.0-beta02 iptal edilir. 1.5.0-beta02 sürümü bu commit'leri içerir.

Sürüm 1.5.0-beta01

11 Aralık 2024

androidx.collection:collection-*:1.5.0-beta01 iptal edilir. 1.5.0-beta01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • watchosDeviceArm64 KMP hedefi ve hedef kotlin 1.9 için destek eklendi (Icf15d, b/364652024).

Sürüm 1.5.0-alpha06

13 Kasım 2024

androidx.collection:collection-*:1.5.0-alpha06 iptal edilir. 1.5.0-alpha06 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Tekrarlanan anahtar çakışmalarına neden olan çok sayıda öğe eklenirken SieveCache ve OrderedScatterSet'de meydana gelebilen kilitlenme sorunu düzeltildi. (Iaaf3d, b/375607736)
  • wasm hedefini koleksiyon kitaplığına ekleyin. (I66fe3, b/352722444)

Sürüm 1.5.0-alpha05

30 Ekim 2024

androidx.collection:collection-*:1.5.0-alpha05 iptal edilir. 1.5.0-alpha05 sürümü bu commit'leri içerir.

Sürüm 1.5.0-alpha04

16 Ekim 2024

androidx.collection:collection-*:1.5.0-alpha04 iptal edilir. 1.5.0-alpha04 sürümü bu commit'leri içerir.

Sürüm 1.5.0-alpha03

2 Ekim 2024

androidx.collection:collection-*:1.5.0-alpha03 iptal edilir. 1.5.0-alpha03 sürümü bu commit'leri içerir.

API Değişiklikleri

  • Kotlin sürümü 1.9'a güncellendi (I1a14c)

Harici Katkı (External Contribution)

  • contains ileri alındı, şu anki zaman containsKey. Teşekkürler Jake Wharton! (I9362b)
  • Skaler uzmanlık alanına sahip koleksiyonlar için kapsayıcı oluşturucular ekleyin. Teşekkürler Jake Wharton! (I13179)

Sürüm 1.5.0-alpha02

18 Eylül 2024

androidx.collection:collection-*:1.5.0-alpha02 iptal edilir. 1.5.0-alpha02 sürümü bu commit'leri içerir.

API Değişiklikleri

Sürüm 1.5.0-alpha01

4 Eylül 2024

androidx.collection:collection-*:1.5.0-alpha01 iptal edilir. 1.5.0-alpha01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • OrderedScatterSet, yeni bir sıralı, tahsisatsız koleksiyondur (Ic4178)
  • SieveCache, daha iyi isabet oranı özellikleri sunan, LruCache için yeni bir tahsis gerektirmeyen yedektir. (I50a17)
  • IntIntPair ve FloatFloatPair için packedValue dahili gösterimini kullanıma sundu. (Ifeb75, b/331853566)
  • Liste koleksiyonlarındaki içerik dizisine erişim ekleme. (I899d5, b/333903173)
  • Çift değerler için optimize edilmiş, liste benzeri bir veri yapısı olan DoubleList öğesini ekleyin. (Ia10d1, b/315127635)

Hata Düzeltmeleri

  • Collections kitaplığı, Kotlin 1.9'u hedefleyecek şekilde taşınıyor (I0782f)
  • Birçok koleksiyonu daha verimli olacak şekilde optimize edin. (Ic0566)

Sürüm 1.4

Sürüm 1.4.5

30 Ekim 2024

androidx.collection:collection-*:1.4.5 iptal edilir. 1.4.5 sürümü bu commit'leri içerir.

Sürüm 1.4.4

18 Eylül 2024

androidx.collection:collection-*:1.4.4 iptal edilir. 1.4.4 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Boş bir koleksiyon sıralanırken ArrayIndexOutOfBounds geçici çözümü. (I65245)

Sürüm 1.4.3

7 Ağustos 2024

androidx.collection:collection-*:1.4.3 iptal edilir. 1.4.3 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • ScatterMap, ScatterSet ve bunların temel varyantlarında oluşabilecek bir bozulma düzeltildi. (I38a4a, b/352560465)
  • Performans optimizasyonları. Özellikle:
    • check() ve required() çağrılarını, satır içi istisna oluşturmayan varyantlarla değiştirin. Bu, nihai ikili boyutunu küçültür ve daha da önemlisi i-cache baskısını biraz azaltır.
    • "Dağılım" koleksiyon ailesinde iyileştirilmiş removeDeletedMarkers(). Yeni sürüm, silinen işaretçileri 8 işaretçi bir kerede temizler ve bu süreçte daha maliyetli yazma işlemlerini atlar. (Ic0566)

Sürüm 1.4.2

24 Temmuz 2024

androidx.collection:collection-*:1.4.2 iptal edilir. 1.4.2 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Ek Kotlin Multiplatform hedefleri içerir: watchos, tvos, linuxArm64. (b/352543988)

Sürüm 1.4.1

10 Temmuz 2024

androidx.collection:collection-*:1.4.1 iptal edilir. 1.4.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Yeniden boyutlandırma sırasında silinen işaretleri Harita/Küme'den kaldırın. (7a996c5, b/345960092)

Sürüm 1.4.0

24 Ocak 2024

androidx.collection:collection-*:1.4.0 iptal edilir. 1.4.0 sürümü şu commit'leri içerir.

1.3.0 sürümünden beri yapılan önemli değişiklikler

Temel öğeleri kutulamadan depolamak için yeni ve yüksek verimli koleksiyonlar eklendi:

  • MutableScatterMap ve ScatterMap - MutableMap ve harita benzeri API'ye sahip sınıflar
  • MutableScatterSet & ScatterSet - MutableSet ve Set benzeri API'ye sahip sınıflar
  • MutableObjectList ve ObjectList - MutableList ve liste benzeri API'ye sahip sınıflar

Örneğin, tam sayı anahtarı ve referans türü değeri olan bir harita IntObjectMap<T>'dır. Uzun anahtarlı ve kayan noktalı değer içeren bir harita LongFloatMap. ObjectObjectMap, ScatterMap/MutableScatterMap kapsamında olduğu için bu ada sahip bir sürüm yoktur.

Sürüm 1.4.0-rc01

10 Ocak 2024

androidx.collection:collection-*:1.4.0-rc01, herhangi bir değişiklik yapılmadan yayınlanır. 1.4.0-rc01 sürümü şu commit'leri içerir.

Sürüm 1.4.0-beta02

29 Kasım 2023

androidx.collection:collection-*:1.4.0-beta02 iptal edilir. 1.4.0-beta02 sürümü şu commit'leri içerir.

Yeni Özellikler

  • FloatFloatPair performansında iyileştirme yapıldı. (If5537)

Hata Düzeltmeleri

  • ScatterMap.asMap() iterator artık yeni örnekler döndürüyor (I28932, b/310365754)

Sürüm 1.4.0-beta01

15 Kasım 2023

androidx.collection:collection-*:1.4.0-beta01 iptal edilir. 1.4.0-beta01 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • ListIterator içinde ObjectList değerlerinin yanlış ayarlanması nedeniyle IndexOutOfBoundsException kaynaklı kilitlenmeye yol açabilen sorun düzeltildi. (I3bd8a, b/307049391)

Sürüm 1.4.0-alpha02

18 Ekim 2023

androidx.collection:collection-*:1.4.0-alpha02 iptal edilir. 1.4.0-alpha02 sürümü şu commit'leri içerir.

API Değişiklikleri

  • put için, değiştirildiğinde önceki değeri döndüren aşırı yükleme, FloatFloatMap gibi tüm temel koleksiyonlara eklendi.
  • MutableFloatFloatMap gibi temel koleksiyonlardaki removeIf yöntemlerini satır içi olarak dönüştürün. Bu, removeIf için lambda'nın ayrılmamasını sağlar.

Sürüm 1.4.0-alpha01

4 Ekim 2023

androidx.collection:collection-*:1.4.0-alpha01 iptal edilir. 1.4.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

Düşük ayırma ek yüküne ve yüksek performansa sahip yeni yüksek verimli koleksiyonlar eklendi:

  • MutableScatterMap ve ScatterMap - MutableMap ve harita benzeri API'ye sahip sınıflar
  • MutableScatterSet & ScatterSet - MutableSet ve Set benzeri API'ye sahip sınıflar
  • MutableObjectList ve ObjectList - MutableList ve liste benzeri API'ye sahip sınıflar

Temel öğeleri kutulamadan depolamak için yeni ve yüksek verimli koleksiyonlar eklendi:

  • Mutable[Int|Float|Long]List - MutableList<Int|Float|Long> benzeri API'ye sahip sınıflar. Salt okunur [Int|Float|Long]List da mevcuttur. Örneğin, tam sayılar IntList içinde tutulabilir.
  • Mutable[Int|Float|Long]Set - MutableSet<Int|Float|Long> benzeri API'ye sahip sınıflar. Salt okunur [Int|Float|Long]Set da mevcuttur. Örneğin, tam sayılar IntSet'te tutulabilir.
  • Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map - Mutable<Int|Float|Long,T, Int|Float|Long|T> benzeri API'ye sahip sınıflar. Salt okunur [Int|Float|Long|Object][Int|Float|Long|Object]Map da mevcuttur. Örneğin, tam sayı anahtarı ve referans türü değeri olan bir harita IntObjectMap<T>'dır. Uzun anahtarlı ve kayan noktalı değer içeren bir harita LongFloatMap. ObjectObjectMap, ScatterMap/MutableScatterMap kapsamında olduğu için bu ada sahip bir sürüm yoktur.

Sürüm 1.3.0

Sürüm 1.3.0

4 Ekim 2023

androidx.collection:collection-*:1.3.0 iptal edilir. 1.3.0 sürümü şu commit'leri içerir.

1.2.0 sürümünden beri yapılan önemli değişiklikler

  • Artık Kotlin Multiplatform projelerinde Koleksiyonlar'ı kullanabilirsiniz. Koleksiyonların Android dışı hedeflerinin hâlâ deneysel aşamada olduğunu ancak geliştiricilerin bunları denemesini kolaylaştırmak için sürümleri birleştirmeye karar verdiğimizi belirtmek isteriz.
  • Kaynağın tamamı Kotlin'e taşınmıştır. Bu değişiklik kapsamında, birçok API artık boşluk için doğru şekilde yazılıyor ve birkaç paket özel üyesi internal oldu. 1.3.x sürümünün küçük sürüm notlarında, yapılan değişikliklerin tam listesini bulabilirsiniz.
  • Kotlin'e geçişle birlikte collection-ktx, ana koleksiyon yapısıyla birleştirildi. collection-ktx artık boş olduğundan collection:collection-ktx ile ilgili tüm bağımlılıkları collection:collection lehine güvenle kaldırabilirsiniz.

Sürüm 1.3.0-rc01

6 Eylül 2023

androidx.collection:collection-*:1.3.0-rc01, herhangi bir değişiklik yapılmadan yayınlanır. 1.3.0-rc01 sürümü şu commit'leri içerir.

Sürüm 1.3.0-beta01

9 Ağustos 2023

androidx.collection:collection-*:1.3.0-beta01 iptal edilir. 1.3.0-beta01 sürümü şu commit'leri içerir.

Sürüm 1.3.0-alpha04

24 Mart 2023

androidx.collection:collection-*:1.3.0-alpha04 iptal edilir.

Hata Düzeltmeleri

  • Kotlin Native Targets'taki derleme sorununu (b/274786186, KT-57531) çözmek için Maven yapılarındaki bağımlılık kısıtlamaları kaldırıldı.

Sürüm 1.3.0-alpha03

22 Mart 2023

androidx.collection:collection-*:1.3.0-alpha03 iptal edilir. 1.3.0-alpha03 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Artık KMM projelerinde Koleksiyonlar'ı kullanabilirsiniz. Koleksiyonların Android dışı hedeflerinin hâlâ deneysel olduğunu ancak geliştiricilerin bunları denemesini kolaylaştırmak için sürümleri birleştirmeye karar verdiğimizi unutmayın.

API Değişiklikleri

  • ArraySet artık toArray (I1ac32) öğesinin daha bellek açısından verimli bir şekilde uygulanmasına olanak tanımak için AbstractMutableCollection yerine MutableCollections öğesini uyguluyor.

Hata Düzeltmeleri

  • ArraySet.toArray, yalnızca Java ile uyumluluk için dahil edildiğinden artık yalnızca JVM'de kullanılabilir. Kotlin kullanıcıları genellikle stdlib'in .toTypedArray yardımcılarını kullanmalıdır. Bu yardımcılar, eklenen tür güvenliğiyle aynı işlevselliği sağlar. (I2c59b)

Sürüm 1.3.0-alpha02

27 Temmuz 2022

androidx.collection:collection:1.3.0-alpha02 ve androidx.collection:collection-ktx:1.3.0-alpha02 yayınlandı. 1.3.0-alpha02 sürümü şu commit'leri içerir.

API Değişiklikleri

  • SparseArrayCompat artık ortak yapıt aracılığıyla JVM olmayan platformlarda kullanılabilir (Ic9bd0, b/219589118, b/228347315).
  • CircularIntArray artık ortak yapıt aracılığıyla JVM olmayan platformlarda kullanılabilir (I3d8ef, b/228344943)
  • LongSparseArray artık ortak yapıt aracılığıyla JVM olmayan platformlarda kullanılabilir (I73149, b/228347315)

Sürüm 1.3.0-alpha01

29 Haziran 2022

androidx.collection:collection:1.3.0-alpha01 ve androidx.collection:collection-ktx:1.3.0-alpha01 yayınlandı. 1.3.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • collection-ktx uzantı, ana koleksiyon yapısı androidx.collection:collection'ya taşındı. Bu değişiklik, önceden var olan -ktx uzantılarını Kotlin kullanıcıları için -ktx bağımlılığı gerektirmeden erişilebilir hale getirirken mevcut kullanıcılar için uyumluluğu korur. Ana yapay ürün Kotlin'e taşındığından bu uzantıları ayrı bir -ktx yapay ürününde tutmak artık faydalı değil. (I6eef2)

API Değişiklikleri

  • ArraySet artık AbstractMutableCollection'i genişletiyor ve Collection arayüzünü doğrudan uygulamıyor. (If6da0, b/230860589)
  • ArraySet, Kotlin'e dönüştürüldü. Daha katı tür belirleme nedeniyle bazı Kotlin çağrıları artık derlenmeyebilir. (Id68c1, b/230860589)
    • Aşağıdaki çağrılarda bağımsız değişken türü T değil, T?:
      • ArraySet<T>.contains(null)
      • ArraySet<T>.add(null)
      • ArraySet<T>.remove(null)
    • Aşağıdaki çağrıların dönüş türü T! değil, T?'dır:
      • ArraySet<T?>.valueAt(n)
      • ArraySet<T?>.removeAt(n)
      • ArraySet<T?>().iterator().next()
    • Kotlin'den artık aşağıdaki işlevler kullanılamaz:
      • set.toArray() - set.toTypedArray() kullanılıyor
      • set.toArray(array) - set.forEachIndexed(array::set) kullanılıyor
  • Kotlin kullanıcıları için SparseArrayCompat aşırı yüklenmiş oluşturucusunu isteğe bağlı bir bağımsız değişken olarak birleştirin. (If8407, b/227474719)
  • SparseArrayCompat.get(key, defaultValue). için operatör söz dizimini kaldırın. .get(key) için operatör söz diziminin kullanılmasına izin verilmeye devam edildiğini ancak SparseArrayCompat'nin API yüzeyinin bu kitaplıktaki diğer sınıflarla daha iyi uyumlu hale getirildiğini unutmayın. (I9a38d)
  • LongSparseArray uzantılarını ana yapay nesneye (androidx.collection:collection) taşıyın. Bu değişiklik, önceden var olan -ktx uzantılarını Kotlin kullanıcıları için -ktx bağımlılığı gerektirmeden erişilebilir hale getirirken mevcut kullanıcılar için uyumluluğu korur. Ana yapay ürün Kotlin'e taşındığından bu uzantıları ayrı bir -ktx yapay ürününde tutmak artık faydalı değil. (I8659a)
  • LongSparseArray dilini Kotlin'e dönüştürün. Bu değişiklik, türlerine açıkça boş değer atanabilirliği ekler. Bu, ikili uyumlu bir değişikliktir ancak kaynak uyumsuzluklarına neden olabilir. Özellikle: * .isEmpty artık bir özellik olarak erişilebilir değil. Kotlin'de .isEmpty() (Idfd0f) işlev çağrısı olarak erişilmesi gerekiyor.
  • SimpleArrayMap dilini Kotlin'e dönüştürün. Bu değişiklik, Java-Kotlin birlikte çalışabilirliği ve kaynakta türlerin null değer alabilirliğini doğru şekilde tanımlama özelliği nedeniyle birkaç uyumsuz değişiklik getiriyor.
    • .mSize, .mArray, .mHashes, .indexOf(), .indexOfNull() ve .indexOfValue() paketine özel API'ler özel olarak ayarlandı. Bu, teknik olarak ikili uyumlu olmayan bir değişiklik olsa da bu alanların amaçlanan görünürlüğünü yansıtır ve Kotlin'de paketine özel görünürlüğü belirtmenin bir yolu olmadığından Kotlin'de ulaşabileceğimiz en yakın çözümdür.
    • Bazı türlerin boşluğu artık düzgün şekilde tanımlanıyor. Etkilenen yöntemler: .getOrDefault, .keyAt, .valueAt, .setValueAt, .put, .putIfAbsent, .removeAt, .replace.
    • Kotlin kullanıcıları için .isEmpty() artık yalnızca işlev olarak kullanılabilir. Daha önce özellik erişimiyle de kullanılabilmekteydi. (I271b7, b/182813986)
  • CircularArray dilini Kotlin'e dönüştürün. Önemli değişiklikler:

    • Daha önce bildirilmesi mümkün olmayan ancak herkese açık tüm API'lerinde zorunlu kılınan, jeneriklerinin boşluğunu boş olmayan olarak düzeltir.
    • Kotlin'in Java birlikte çalışabilirliği sayesinde, daha önce belirli yöntemlere hem özellik hem de işlev olarak erişmek mümkündü. Ancak ikili uyumluluğu korurken tekrarları azaltmak için bunların kaldırılması gerekiyordu. Bu da kaynakla uyumlu olmayan bir değişikliktir. Etkilenen görüşmeler: .isEmpty, .getLast() ve .getFirst(). (Ifffac)
  • CircularIntArray dilini Kotlin'e dönüştürün. Kotlin'in Java birlikte çalışabilirliği sayesinde, daha önce belirli yöntemlere hem özellik hem de işlev olarak erişmek mümkündü. Ancak ikili uyumluluğu korurken tekrarları azaltmak için bunların kaldırılması gerekiyordu. Bu da kaynakla uyumlu olmayan bir değişikliktir. Etkilenen görüşmeler: .isEmpty, .getLast() ve .getFirst(). (Ie36ce)

  • LruCache öğesini Kotlin'e dönüştürme (Ia2f19)

  • SparseArrayCompat dilini Kotlin'e dönüştürün. (If6fe8)

    SparseArrayCompat.valueAt()'ya küçük bir davranış değişikliği eklendi. Bu değişiklik sayesinde, SparseArrayCompat.valueAt() artık size() sınırları dışında ancak sağlanan başlangıç kapasitesi içinde başlatılmamış çağrılar için null'yi yanlış şekilde döndürmüyor.

    Bu değişiklik, daha önce eksik olan bazı türler için doğru boşluk değerini de sunar.

    • .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)

Sürüm 1.2.0

Sürüm 1.2.0

1 Aralık 2021

androidx.collection:collection:1.2.0 ve androidx.collection:collection-ktx:1.2.0 yayınlandı. 1.2.0 sürümü şu commit'leri içerir.

1.1.0 sürümünden beri yapılan önemli değişiklikler

  • ArraySet öğesine bir dizi oluşturucu ekleyin. (Id7f19)
  • entrySet().toArray(), remove(), removeAll() ve retainAll()'yi uygulayarak ve entrySet().addAll() (I5d505) uygulamasını kaldırarak entrySet()'yı API'ye uygun hale getirin.

Sürüm 1.2.0-rc01

17 Kasım 2021

androidx.collection:collection:1.2.0-rc01 ve androidx.collection:collection-ktx:1.2.0-rc01 yayınlandı. 1.2.0-rc01 sürümü şu commit'leri içerir.

API Değişiklikleri

  • Önceki beta sürümüne göre değişiklik yok.

Sürüm 1.2.0-beta01

13 Ekim 2021

androidx.collection:collection:1.2.0-beta01 ve androidx.collection:collection-ktx:1.2.0-beta01 yayınlandı. 1.2.0-beta01 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • entrySet().toArray(), remove(), removeAll() ve retainAll()'yi uygulayarak ve entrySet().addAll() (I5d505) uygulamasını kaldırarak entrySet()'yı API'ye uygun hale getirin.

Sürüm 1.2.0-alpha01

16 Aralık 2020

androidx.collection:collection:1.2.0-alpha01 ve androidx.collection:collection-ktx:1.2.0-alpha01 yayınlandı. 1.2.0-alpha01 sürümü şu commit'leri içerir.

API Değişiklikleri

  • ArraySet öğesine bir dizi oluşturucu ekleyin. (Id7f19)

Sürüm 1.1.0

Sürüm 1.1.0

5 Haziran 2019

androidx.collection:collection:1.1.0 ve androidx.collection:collection-ktx:1.1.0 yayınlandı. 1.1.0 sürümüne dahil edilen commit'leri burada bulabilirsiniz.

1.0.0 sürümünden 1.1.0 sürümüne yapılan değişikliklerin özeti aşağıda verilmiştir:

Yeni özellikler

  • "collection-ktx" yapısında contains ve isNotEmpty işlevleri için daha verimli bir uygulama kullanın. (aosp/866529)

API değişiklikleri

  • putIfAbsent'yı LongSparseArray, SimpleArrayMap ve SparseArrayCompat'ye ekleme (aosp/772608)
  • getOrDefault öğesini SimpleArrayMap'ye ekleyin (aosp/772607)
  • LongSparseArray, SimpleArrayMap ve SparseArrayCompat öğelerine iki bağımsız değişkenli remove işlevini ekleyin. Bu işlev için ilgili KTX uzantılarını kullanımdan kaldırın. (aosp/772482)
  • replace adlı iki bağımsız değişkeni LongSparseArray, SimpleArrayMap ve SparseArrayCompat'ye ekleyin (aosp/772483)
  • replace, LongSparseArray, SimpleArrayMap ve SparseArrayCompat'ye üç bağımsız değişkenli aosp/772484 ekleyin.
  • Gereksiz delete yöntemlerinin desteğini sonlandırın. remove yöntemi, aynı API'yi ve işlevleri sunar ve uzmanlık alanı olmayan Maps'in kullandığı API ile eşleşir. (aosp/866053)

Hata düzeltmeleri

  • SimpleArrayMap değerini, ArrayMap.class yerine SimpleArrayMap.class üzerindeki dizilerin dahili genel önbelleğini senkronize edecek şekilde değiştirin. Bu, yalnızca SimpleArrayMap kullanıyorsanız ArrayMap öğesinin kod küçültme araçlarıyla kaldırılabileceği anlamına gelir. (aosp/934557)

Sürüm 1.1.0-rc01

7 Mayıs 2019

androidx.collection:collection:1.1.0-rc01 ve androidx.collection:collection-ktx:1.1.0-rc01 yayınlandı. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.

Yeni özellikler

  • "collection-ktx" yapısında contains ve isNotEmpty işlevleri için daha verimli bir uygulama kullanın. (aosp/866529)

Sürüm 1.1.0-beta01

3 Nisan 2019

androidx.collection:collection:1.1.0-beta01 ve androidx.collection:collection-ktx:1.1.0-beta01 yayınlandı. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.

API değişiklikleri

  • Alpha03 sürüm notlarında @RestrictTo değerinin değiştirildiği belirtilen yöntem kaldırıldı. Bu kitaplık, herhangi bir AndroidX kitaplığı tarafından (şu anda veya geçmişte) kullanılmıyordu ve herkese açık API'de bulunmayan herhangi bir işlev sunmuyordu.

Hata düzeltmeleri

  • SimpleArrayMap değerini, ArrayMap.class yerine SimpleArrayMap.class üzerindeki dizilerin dahili genel önbelleğini senkronize edecek şekilde değiştirin. Bu, yalnızca SimpleArrayMap kullanıyorsanız ArrayMap öğesinin kod küçültme araçlarıyla kaldırılabileceği anlamına gelir. (aosp/934557)

Sürüm 1.1.0-alpha03

13 Mart 2019

androidx.collection:collection:1.0.0-alpha03 ve androidx.collection:collection-ktx:1.0.0-alpha03 yayınlanır. Bu sürüme dahil edilen tüm commit'lerin listesini burada bulabilirsiniz.

API değişiklikleri

  • ArraySet üzerindeki bir yöntem, daha önce @RestrictTo(LIBRARY_GROUP) olarak işaretlenmişken @RestrictTo(LIBRARY_GROUP_PREFIX) olarak değiştirildi. Bu, artık farklı Maven grubu kimliklerinde bulunan diğer AndroidX kitaplıklarının geçmişte kullanımını desteklemek içindir. Bu yöntem, diğer AndroidX kitaplıklarının diğer geliştiricilerin sahip olmadığı özel API'lere sahip olmaması gerektiğinden 1.1.0-alpha04 sürümünde herkese açık hale getirilecek veya kaldırılacaktır.

Sürüm 1.1.0-alpha02

30 Ocak 2019

androidx.collection:collection 1.1.0-alpha02 ve androidx.collection:collection-ktx 1.1.0-alpha02 yayınlanır.

API değişiklikleri

  • Gereksiz delete yöntemlerinin desteğini sonlandırın. remove yöntemleri aynı API'yi ve işlevleri sunar ve uzmanlık alanı olmayan Haritalar'ın kullandığı API ile eşleşir. (aosp/866053)

Sürüm 1.1.0-alpha01

3 Aralık 2018

API değişiklikleri

  • putIfAbsent'yı LongSparseArray, SimpleArrayMap ve SparseArrayCompat'ye ekleme (aosp/772608)
  • getOrDefault öğesini SimpleArrayMap'ye ekleyin (aosp/772607)
  • LongSparseArray, SimpleArrayMap ve SparseArrayCompat öğelerine iki bağımsız değişkenli remove işlevini ekleyin. Bu işlev için ilgili KTX uzantılarını kullanımdan kaldırın. (aosp/772482)
  • replace adlı iki bağımsız değişkeni LongSparseArray, SimpleArrayMap ve SparseArrayCompat'ye ekleyin (aosp/772483)
  • replace, LongSparseArray, SimpleArrayMap ve SparseArrayCompat'ye üç bağımsız değişkenli aosp/772484 ekleyin.