Koleksiyon
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 23 Eylül 2026 | 1.6.0 | 1.7.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 inceleyin.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Groovy
dependencies { def collection_version = "1.6.0" implementation "androidx.collection:collection:$collection_version" }
Kotlin
dependencies { val collection_version = "1.6.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.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.7
Sürüm 1.7.0-rc01
23 Eylül 2026
androidx.collection:collection-*:1.7.0-rc01 iptal edilir. 1.7.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.7.0-alpha01
9 Eylül 2026
androidx.collection:collection-*:1.7.0-alpha01 iptal edilir. 1.7.0-alpha01 sürümü bu commit'leri içerir.
API Değişiklikleri
sortWith,sortByvesortByDescendingişlevleriMutableObjectList'e,ObjectListüzerindekibinarySearchalgoritmalarının ve temel liste sınıflarının (FloatList,IntList,LongList,DoubleList) yanı sıra eklendi. MevcutIntyöntemlerinin yanı sıraFloatList,LongListveDoubleListiçin tam bileşen türlerini kullananbinarySearchaşırı yüklemeleri eklendi. (Ied6f7)androidx.benchmarkartık 24minSdksahibi. (Ic2a85)ScatterMap.getOrPut()Performansı optimize etme (I6e46b)- Liste sınıflarının kırpma işlevlerine
@JvmOverloadseklendi (I24410, b/481371562) .toOrderedScatterSet()uzantısı eklendi. Bu işlev, değiştirilebilir dönüştürme işlevine salt okunur bir alternatif sunar ve kaynak koleksiyon boş olduğunda tahsis içermeyen tek bir öğe döndürür. (I1b767)
Hata Düzeltmeleri
ScatterMapve temel koleksiyonlarda,Floatanahtarlarında çakışmaları azaltmak için karma oluşturma işlemi iyileştirildi. (I7d2ac, b/528428583)toString()anahtarı, değeri ve giriş görüntülemeleri içinScatterMap.asMapuygulayın. Bu,asMap()sarmalayıcısını kullanan geliştiriciler için daha iyi hata ayıklama görünürlüğü sağlar. (I64791)
Sürüm 1.6
Sürüm 1.6.0
11 Mart 2026
androidx.collection:collection-*:1.6.0 iptal edilir. 1.6.0 sürümü bu commit'leri içerir.
1.5.0 sürümünden beri yapılan önemli değişiklikler:
MutableFloatList,MutableDoubleList,MutableIntListiçin bağımsız değişken içermeyen trim sürümü eklendi.toMutableOrderedScatterSet,toOrderedScatterSet,toMutableScatterMap,toScatterMap,toMutableScatterSet,toScatterSetuzantı işlevlerini ekleyin.ScatterMapveScatterSetiçin performans iyileştirmeleri.minSdksürümü artık 23.
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 koleksiyon boş olduğunda tahsis içermeyen tekil öğeler döndürür. (I1769a, b/459867876)MutableScatterMap(source)veMutableScatterSet(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)veMutableScatterSet(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ığın0..size -1dışında olan bir dizin geçirildiğinde valueAt içinnull,keyAtdö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 yerineIndexOutOfBoundsoluş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
joinToStringdavranışını platform koleksiyonlarıyla uyumlu hale getirin. (I1b7e8) ScatterSet.hashCodeartık özyinelemeye (yani kümenin kendisine eklenmesi) karşı savunma yapmıyor. Bu değişiklik,ScatterMap,HashSetve temel dağılım tabanlı kümelerle (ör.LongSet) uyumlu hale getirir.equalsyönteminin zaten özyinelemeye açık olduğunu vetoString'nin buna karşı koruma sağladığını unutmayın. Her iki davranış da diğer koleksiyonlarla uyumludur. (I9c84a)ScatterSet.retainAllişlevi, lambda örneği oluşturulmasını önlemek için artık satır içi olarak kullanılıyor. (Ifa4b7)ScatterSet.hashCodeartık karma hesaplamasında kapasitesini kullanmıyor. Bu sayede, eşit içerikler ancak farklı kapasiteler yine de aynı değeri üretiyor. (Ic863b)IllegalStateException,ScatterMap.asMap()veyaScatterSet.asSet()koleksiyonlarınınkeys,valuesya daentrieskoleksiyonlarının yineleyicisindenext()'den önceremove()'yi çağırırsanız artık 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
watchosDeviceArm64KMP hedefi ve hedef kotlin 1.9 için destek eklenmiştir (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
SieveCacheveOrderedScatterSet'de çok sayıda öğe eklenirken tekrarlanan anahtar çakışmalarına neden olabilen kilitlenme sorunu düzeltildi. (Iaaf3d, b/375607736)- Koleksiyon kitaplığına wasm hedefi 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ürününücontainsKeykonumuna yönlendirin. Teşekkürler Jake Wharton! (I9362b)- Skaler uzmanlık alanına yönelik 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
watchosDeviceArm64platform hedefi için destek eklenir. (I1cc04, b/364652024)
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ı, tahsis gerektirmeyen koleksiyondur (Ic4178).SieveCache, daha iyi isabet oranı özellikleri sunan,LruCacheiçin yeni ve tahsis gerektirmeyen bir alternatiftir. (I50a17)IntIntPairveFloatFloatPairiçinpackedValuedahili gösterimini kullanıma sundu. (Ifeb75, b/331853566)- Liste koleksiyonlarındaki içerik dizisine erişim eklendi. (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 koleksiyonu sıralarken
ArrayIndexOutOfBoundsgeçici çözümünü kullanın. (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,ScatterSetve bunların temel varyantlarında oluşabilecek bir bozulma düzeltildi. (I38a4a, b/352560465)- Performans optimizasyonları. Özellikle:
check()verequired()işlevlerine yapılan çağrıları, 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 aynı anda 8 işaretçi olacak şekilde 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 mezar taşlarını Harita/Set'ten 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
Boxing olmadan temel öğeleri depolamak için yeni yüksek verimli koleksiyonlar eklendi:
MutableScatterMapveScatterMap:MutableMapve harita benzeri API'ye sahip sınıflarMutableScatterSetveScatterSet-MutableSetve Set benzeri API'ye sahip sınıflarMutableObjectList&ObjectList-MutableListve 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'dır. ScatterMap/MutableScatterMap kapsamına girdiği için ObjectObjectMap adlı bir sürüm yok.
Sürüm 1.4.0-rc01
10 Ocak 2024
androidx.collection:collection-*:1.4.0-rc01 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
FloatFloatPairperformansını artırır. (If5537)
Hata Düzeltmeleri
ScatterMap.asMap()Yineleyici 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
ListIteratoriçinde değerlerinObjectListnedeniyle yanlış ayarlanması veIndexOutOfBoundsExceptionnedeniyle kilitlenmeye yol açması sorunu 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
putiçin, değiştirildiğinde önceki değeri döndüren aşırı yükleme,FloatFloatMapgibi tüm temel koleksiyonlara eklendi.removeIfgibi temel koleksiyonlardakiMutableFloatFloatMapyöntemlerini satır içi olarak dönüştürün. Bu,removeIfiç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:
MutableScatterMapveScatterMap-MutableMapve harita benzeri API'ye sahip sınıflarMutableScatterSetveScatterSet-MutableSetve Set benzeri API'ye sahip sınıflarMutableObjectListveObjectList-MutableListve liste benzeri API'ye sahip sınıflar
Boxing olmadan temel öğeleri depolamak için yeni 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]Listda vardır. Örneğin, tam sayılarIntListiçinde tutulabilir.Mutable[Int|Float|Long]Set-MutableSet<Int|Float|Long>benzeri API'ye sahip sınıflar. Salt okunur[Int|Float|Long]Setda vardır. Ö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]Mapda vardır. Örneğin, tam sayı anahtarı ve referans türü değeri olan bir haritaIntObjectMap<T>'dır. Uzun anahtarlı ve kayan noktalı değer içeren bir haritaLongFloatMap'dır.ScatterMap/MutableScatterMapkapsamına girdiği içinObjectObjectMapadlı bir sürüm yok.
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 Collections'ı 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şındı. Bu değişiklik kapsamında, birçok API artık boşluk için düzgün şekilde yazılıyor ve birkaç paket özel üyesi
internaloldu. Tam değişikliklerin listesini aşağıda 1.3.x sürümünün küçük sürüm notlarında bulabilirsiniz. - Kotlin'e geçişle birlikte
collection-ktx, ana koleksiyon yapısıyla birleştirildi.collection-ktxartık boş olduğundancollection:collection-ktxile ilgili tüm bağımlılıkları güvenlecollection:collectionlehine bırakabilirsiniz.
Sürüm 1.3.0-rc01
6 Eylül 2023
androidx.collection:collection-*:1.3.0-rc01 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 bir derleme sorununu (b/274786186, KT-57531) geçici olarak çözmek için Maven yapılarından 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 olmayan 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
ArraySetartıktoArray'ün (I1ac32) daha bellek açısından verimli bir şekilde uygulanmasına olanak tanımak içinAbstractMutableCollectionyerineMutableCollections'yi uyguluyor.
Hata Düzeltmeleri
ArraySet.toArray, her zaman 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.toTypedArrayyardımcılarını kullanmalıdır. Bu yardımcılar, eklenen tip 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
SparseArrayCompatartık ortak yapay nesneden (Ic9bd0, b/219589118, b/228347315) JVM olmayan platformlarda kullanılabilir.CircularIntArray, ortak yapıt aracılığıyla artık JVM olmayan platformlarda da kullanılabilir (I3d8ef, b/228344943)LongSparseArray, artık ortak yapıda (I73149, b/228347315) jvm olmayan platformlarda da kullanılabilir.
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-ktxuzantı, ana koleksiyonlar yapay nesnesiandroidx.collection:collection'ye taşındı. Bu değişiklik, mevcut kullanıcılar için uyumluluğu korurken -ktx uzantılarını -ktx bağımlılığı gerektirmeden Kotlin kullanıcıları için erişilebilir hale getirir. Ana çıktı Kotlin'e taşındığından bu uzantıları ayrı bir -ktx çıktısında tutmanın artık bir faydası yok. (I6eef2)
API Değişiklikleri
ArraySetartıkAbstractMutableCollection'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
T?yerineTbağımsız değişken türü kullanılıyor: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()
- Aşağıdaki çağrılar artık Kotlin'den yapılamaz:
set.toArray()-set.toTypedArray()kullanınset.toArray(array)-set.forEachIndexed(array::set)kullanın
- Aşağıdaki çağrılarda
- Kotlin kullanıcıları için isteğe bağlı bir bağımsız değişken olarak
SparseArrayCompatiçin aşırı yüklenmiş oluşturucuyu birleştirin. (If8407, b/227474719) SparseArrayCompat.get(key, defaultValue).için operatör söz dizimini kaldırın. Bu,.get(key)için operatör söz dizimine izin vermeye devam eder ancakSparseArrayCompat'nin API yüzeyini bu kitaplıktaki diğer sınıflarla daha iyi uyumlu hale getirir. (I9a38d)LongSparseArrayuzantılarını ana yapay nesneye (androidx.collection:collection) taşıyın. Bu değişiklik, mevcut kullanıcılar için uyumluluğu korurken -ktx uzantılarını -ktx bağımlılığı gerektirmeden Kotlin kullanıcıları için erişilebilir hale getirir. Ana çıktı Kotlin'e taşındığından bu uzantıları ayrı bir -ktx çıktısında tutmak artık faydalı değil. (I8659a)LongSparseArraydosyasını Kotlin'e dönüştürün. Bu değişiklik, türlerine açık nullability ekler. Bu, ikili uyumlu bir değişikliktir ancak kaynak uyumsuzluklarına neden olabilir. Özellikle: *.isEmptyartık bir özellik olarak erişilebilir değil. Kotlin'de bir işlev çağrısı olarak erişilmesi gerekir:.isEmpty()(Idfd0f)SimpleArrayMapdosyasını Kotlin'e dönüştürün. Bu değişiklik, Java-Kotlin birlikte çalışabilirliği ve kaynakta türlerin null olma durumunu doğru şekilde tanımlama özelliği nedeniyle birkaç uyumsuz değişiklik getiriyor.- Paket özel API'leri
.mSize,.mArray,.mHashes,.indexOf(),.indexOfNull()ve.indexOfValue()ö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 paket özel görünürlüğünü belirtmenin bir yolu olmadığı için 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. Mülk erişimi üzerinden kullanılamaz. (I271b7, b/182813986)
- Paket özel API'leri
CircularArraydosyasını Kotlin'e dönüştürün. Önemli değişiklikler:- Daha önce bildirilmesi mümkün olmayan ancak tüm herkese açık API'lerinde zorunlu kılınan, genel türlerinin boş değer olmamasını 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 aramalar:
.isEmpty,.getLast()ve.getFirst(). (Ifffac)
CircularIntArraydosyasını Kotlin'e dönüştürün. Kotlin'in Java birlikte çalışabilirliği nedeniyle, 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)LruCachedilini Kotlin'e dönüştürme (Ia2f19)SparseArrayCompatdosyasını Kotlin'e dönüştürün. (If6fe8)SparseArrayCompat.valueAt()'ya küçük bir davranış değişikliği eklendi. Bu değişiklikle birlikte, artıksize()sınırları dışında ancak sağlanan ilk kapasite içinde başlatılmamış çağrılar içinnulldeğerini 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()veretainAll()'yi uygulayıpentrySet().addAll()(I5d505) uygulamasını kaldırarakentrySet()API'sine 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()veretainAll()'yi uygulayıpentrySet().addAll()(I5d505) uygulamasını kaldırarakentrySet()API'sine 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
containsveisNotEmptyişlevleri için daha verimli bir uygulama kullanın. (aosp/866529)
API değişiklikleri
putIfAbsent'yıLongSparseArray,SimpleArrayMapveSparseArrayCompat'ye ekleyin (aosp/772608)getOrDefaultöğesiniSimpleArrayMap'ye ekleyin (aosp/772607)LongSparseArray,SimpleArrayMapveSparseArrayCompatöğelerine iki bağımsız değişkenliremoveişlevini ekleyin. Bu işlev için ilgili KTX uzantılarının desteğini sonlandırın. (aosp/772482)LongSparseArray,SimpleArrayMapveSparseArrayCompat'e iki bağımsız değişkenlireplaceişlevini ekleyin (aosp/772483)replaceüç bağımsız değişkeniniLongSparseArray,SimpleArrayMapveSparseArrayCompat'ye ekleyin (aosp/772484)- Gereksiz
deleteyöntemlerinin desteğini sonlandırın.removeyöntemi, aynı API'yi ve işlevleri sunar ve uzmanlık alanı olmayan Haritalar'ın kullandığı API ile eşleşir. (aosp/866053)
Hata düzeltmeleri
SimpleArrayMap,ArrayMap.classyerineSimpleArrayMap.classüzerindeki dizilerin dahili global önbelleğini senkronize edecek şekilde değiştirin. Bu, yalnızcaSimpleArrayMapkullanıyorsanızArrayMapöğesinin kod daraltma 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
containsveisNotEmptyiş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
@RestrictTodeğeri 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 genel API'de eksik olan herhangi bir işlev sunmuyordu.
Hata düzeltmeleri
SimpleArrayMap,ArrayMap.classyerineSimpleArrayMap.classüzerindeki dizilerin dahili global önbelleğini senkronize edecek şekilde değiştirin. Bu, yalnızcaSimpleArrayMapkullanıyorsanızArrayMapöğesinin kod daraltma 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ınlandı.
Bu sürüme dahil edilen tüm commit'lerin listesini burada bulabilirsiniz.
API değişiklikleri
ArraySetüzerinde daha önce@RestrictTo(LIBRARY_GROUP)olarak işaretlenen bir yöntem@RestrictTo(LIBRARY_GROUP_PREFIX)olarak değiştirildi. Bu, artık farklı Maven grup 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 erişemediği özel API'ler almaması 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ınlandı.
API değişiklikleri
- Gereksiz
deleteyöntemlerinin desteğini sonlandırın.removeyö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,SimpleArrayMapveSparseArrayCompat'ye ekleyin (aosp/772608)getOrDefaultöğesiniSimpleArrayMap'ye ekleyin (aosp/772607)LongSparseArray,SimpleArrayMapveSparseArrayCompatöğelerine iki bağımsız değişkenliremoveişlevini ekleyin. Bu işlev için ilgili KTX uzantılarının desteğini sonlandırın. (aosp/772482)LongSparseArray,SimpleArrayMapveSparseArrayCompat'e iki bağımsız değişkenlireplaceişlevini ekleyin (aosp/772483)replaceüç bağımsız değişkeniniLongSparseArray,SimpleArrayMapveSparseArrayCompat'e ekleyin (aosp/772484)