कलेक्शन
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
30 अक्टूबर, 2024 | 1.4.5 | - | - | 1.5.0-ऐल्फ़ा05 |
डिपेंडेंसी का एलान करना
कलेक्शन पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़ना होगा. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { def collection_version = "1.4.3" implementation "androidx.collection:collection:$collection_version" }
Kotlin
dependencies { val collection_version = "1.4.3" implementation("androidx.collection:collection:$collection_version") }
डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या पर अपना वोट जोड़ा जा सकता है.
ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.
संस्करण 1.5
वर्शन 1.5.0-alpha05
30 अक्टूबर, 2024
androidx.collection:collection-*:1.5.0-alpha05
रिलीज़ हो गया है. वर्शन 1.5.0-alpha05 में ये कमिट शामिल हैं.
वर्शन 1.5.0-alpha04
16 अक्टूबर, 2024
androidx.collection:collection-*:1.5.0-alpha04
रिलीज़ हो गया है. वर्शन 1.5.0-alpha04 में ये कमिट शामिल हैं.
वर्शन 1.5.0-alpha03
2 अक्टूबर, 2024
androidx.collection:collection-*:1.5.0-alpha03
रिलीज़ हो गया है. वर्शन 1.5.0-alpha03 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
- Kotlin वर्शन को 1.9 (I1a14c) पर अपडेट किया गया
बाहरी योगदान
contains
कोcontainsKey
पर फ़ॉरवर्ड करें. धन्यवाद, जैक व्हार्टन! (I9362b)- स्केलर के हिसाब से बनाए गए कलेक्शन के लिए कंटेनर बिल्डर जोड़ें. धन्यवाद जेक व्हार्टन! (I13179)
वर्शन 1.5.0-alpha02
18 सितंबर, 2024
androidx.collection:collection-*:1.5.0-alpha02
रिलीज़ हो गया है. वर्शन 1.5.0-alpha02 में ये कमिट शामिल हैं.
एपीआई में बदलाव
watchosDeviceArm64
प्लैटफ़ॉर्म टारगेट के लिए सहायता जोड़ता है. (I1cc04, b/364652024)
वर्शन 1.5.0-alpha01
4 सितंबर, 2024
androidx.collection:collection-*:1.5.0-alpha01
रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
OrderedScatterSet
, ऑर्डर किया गया नया कलेक्शन है, जिसमें एलोकेशन नहीं है (Ic4178)SieveCache
,LruCache
के लिए बिना ऐलोकेशन वाला नया विकल्प है. यह हिट रेशियो की बेहतर सुविधाएं देता है. (I50a17)IntIntPair
औरFloatFloatPair
के लिए,packedValue
के इंटरनल रिप्रज़ेंटेशन को एक्सपोज़ किया गया. (Ifeb75, b/331853566)- सूची वाले कलेक्शन में कॉन्टेंट कलेक्शन का ऐक्सेस जोड़ना. (I899d5, b/333903173)
DoubleList
जोड़ें. यह डबल वैल्यू के लिए ऑप्टिमाइज़ किया गया, सूची जैसा डेटा स्ट्रक्चर है. (Ia10d1, b/315127635)
गड़बड़ियां ठीक की गईं
- Collections लाइब्रेरी को Kotlin 1.9 (I0782f) पर टारगेट किया जा रहा है
- ज़्यादा बेहतर परफ़ॉर्मेंस के लिए, कई कलेक्शन ऑप्टिमाइज़ करें. (Ic0566)
वर्शन 1.4
वर्शन 1.4.5
30 अक्टूबर, 2024
androidx.collection:collection-*:1.4.5
रिलीज़ हो गया है. वर्शन 1.4.5 में ये बदलाव शामिल हैं.
वर्शन 1.4.4
18 सितंबर, 2024
androidx.collection:collection-*:1.4.4
रिलीज़ हो गया है. वर्शन 1.4.4 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- खाली कलेक्शन को क्रम से लगाने के लिए,
ArrayIndexOutOfBounds
का इस्तेमाल करें. (I65245)
वर्शन 1.4.3
7 अगस्त, 2024
androidx.collection:collection-*:1.4.3
रिलीज़ हो गया है. वर्शन 1.4.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ScatterMap
,ScatterSet
, और उनके प्रिमिटिव वैरिएंट में होने वाली गड़बड़ी को ठीक किया गया. (I38a4a, b/352560465)- परफ़ॉर्मेंस को ऑप्टिमाइज़ करना. खास तौर पर:
check()
औरrequired()
के कॉल को ऐसे वैरिएंट से बदलें जो अपवाद को इनलाइन नहीं करते. इससे फ़ाइनल बाइनरी का साइज़ कम हो जाता है. इससे भी ज़्यादा अहम बात यह है कि i-cache पर दबाव थोड़ा कम हो जाता है.- कलेक्शन के "स्कैटर" फ़ैमिली में
removeDeletedMarkers()
को बेहतर बनाया गया है. नया वर्शन, एक बार में आठ मिटाए गए मार्कर मिटा देता है. साथ ही, इस प्रोसेस में ज़्यादा खर्च वाले डेटा को मिटाने से बचता है. (Ic0566)
वर्शन 1.4.2
24 जुलाई, 2024
androidx.collection:collection-*:1.4.2
रिलीज़ हो गया है. वर्शन 1.4.2 में ये कमिट शामिल हैं.
नई सुविधाएं
- इसमें अन्य Kotlin मल्टीप्लैटफ़ॉर्म टारगेट शामिल हैं:
watchos
,tvos
,linuxArm64
. (b/352543988)
वर्शन 1.4.1
10 जुलाई, 2024
androidx.collection:collection-*:1.4.1
रिलीज़ हो गया है. वर्शन 1.4.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- साइज़ बदलते समय, मिटाए गए टॉम्बस्टोन को मैप/सेट से हटाना. (7a996c5, b/345960092)
वर्शन 1.4.0
24 जनवरी, 2024
androidx.collection:collection-*:1.4.0
रिलीज़ हो गया है. 1.4.0 वर्शन में ये बदलाव शामिल हैं.
1.3.0 के बाद किए गए अहम बदलाव
प्राइमिटिव को बॉक्स किए बिना सेव करने के लिए, बेहतर परफ़ॉर्मेंस वाले नए कलेक्शन जोड़े गए हैं:
MutableScatterMap
औरScatterMap
-MutableMap
और Map-like API वाली क्लासMutableScatterSet
औरScatterSet
-MutableSet
और सेट जैसे एपीआई वाली क्लासMutableObjectList
औरObjectList
-MutableList
और सूची जैसे एपीआई वाली क्लास
उदाहरण के लिए, इंटीजर की-वैल्यू और रेफ़रंस टाइप की वैल्यू वाला मैप, IntObjectMap<T>
होता है. लंबी कुंजी और फ़्लोट वैल्यू वाला मैप, LongFloatMap
होता है. ObjectObjectMap
नाम वाला कोई वर्शन मौजूद नहीं है, क्योंकि यह ScatterMap/MutableScatterMap
में शामिल है.
वर्शन 1.4.0-rc01
10 जनवरी, 2024
androidx.collection:collection-*:1.4.0-rc01
को बिना किसी बदलाव के रिलीज़ किया जाता है. 1.4.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.4.0-beta02
29 नवंबर, 2023
androidx.collection:collection-*:1.4.0-beta02
रिलीज़ हो गया है. 1.4.0-beta02 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
FloatFloatPair
की परफ़ॉर्मेंस बेहतर की गई. (If5537)
गड़बड़ियां ठीक की गईं
ScatterMap.asMap()
iterator अब नए इंस्टेंस दिखाता है (I28932, b/310365754)
वर्शन 1.4.0-beta01
15 नवंबर, 2023
androidx.collection:collection-*:1.4.0-beta01
रिलीज़ हो गया है. 1.4.0-beta01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ListIterator
में वैल्यू को गलत तरीके से सेट करने की समस्या को ठीक किया गया. इसकी वजह से,IndexOutOfBoundsException
की वजह से ऐप्लिकेशन क्रैश हो सकता था.ObjectList
(I3bd8a, b/307049391)
वर्शन 1.4.0-alpha02
18 अक्टूबर, 2023
androidx.collection:collection-*:1.4.0-alpha02
रिलीज़ हो गया है. 1.4.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
put
के लिए ओवरलोड जोड़ा गया है, जोFloatFloatMap
जैसे सभी प्राइमिटिव कलेक्शन में बदले जाने पर पिछली वैल्यू दिखाता है.- प्राइमटिव कलेक्शन पर
removeIf
के तरीकों को इनलाइन में बदलें, जैसे किMutableFloatFloatMap
. इससे यह पक्का हो जाता है किremoveIf
के लिए, Lambda फ़ंक्शन असाइन नहीं किया गया है.
वर्शन 1.4.0-alpha01
4 अक्टूबर, 2023
androidx.collection:collection-*:1.4.0-alpha01
रिलीज़ हो गया है. 1.4.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
बेहतर परफ़ॉर्मेंस वाले नए कलेक्शन जोड़े गए हैं. इनमें कम खर्च होता है और परफ़ॉर्मेंस बेहतर होती है:
MutableScatterMap
औरScatterMap
-MutableMap
और मैप जैसे एपीआई वाली क्लासMutableScatterSet
औरScatterSet
-MutableSet
और सेट जैसे एपीआई वाली क्लासMutableObjectList
औरObjectList
-MutableList
और सूची जैसे एपीआई वाली क्लास
प्राइमिटिव को बॉक्स किए बिना सेव करने के लिए, बेहतर परफ़ॉर्मेंस वाले नए कलेक्शन जोड़े गए हैं:
Mutable[Int|Float|Long]List
-MutableList<Int|Float|Long>
जैसे एपीआई वाली क्लास. रीड-ओनली[Int|Float|Long]List
भी मौजूद है. जैसे, पूर्णांकों कोIntList
में रखा जा सकता है.Mutable[Int|Float|Long]Set
-MutableSet<Int|Float|Long>
जैसे एपीआई वाली क्लास. रीड-ओनली[Int|Float|Long]Set
भी मौजूद है. उदाहरण के लिए, पूर्णांकों को IntSet में रखा जा सकता है.Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map
-Mutable<Int|Float|Long,T, Int|Float|Long|T>
जैसे एपीआई वाली क्लास. रीड-ओनली[Int|Float|Long|Object][Int|Float|Long|Object]Map
भी मौजूद है. उदाहरण के लिए, इंटीजर की-वैल्यू और रेफ़रंस टाइप की वैल्यू वाला मैप,IntObjectMap<T>
होता है. लंबी कुंजी और फ़्लोट वैल्यू वाला मैप,LongFloatMap
होता है.ObjectObjectMap
नाम का कोई वर्शन नहीं है, क्योंकि यहScatterMap/MutableScatterMap
में शामिल है.
वर्शन 1.3.0
वर्शन 1.3.0
4 अक्टूबर, 2023
androidx.collection:collection-*:1.3.0
रिलीज़ हो गया है. 1.3.0 वर्शन में ये बदलाव शामिल हैं.
1.2.0 के बाद किए गए अहम बदलाव
- अब Kotlin मल्टीप्लैटफ़ॉर्म प्रोजेक्ट में कलेक्शन का इस्तेमाल किया जा सकता है. ध्यान दें कि कलेक्शन की सुविधा, Android के अलावा अन्य प्लैटफ़ॉर्म के लिए अभी एक्सपेरिमेंट के तौर पर उपलब्ध है. हालांकि, हमने वर्शन मर्ज करने का फ़ैसला लिया है, ताकि डेवलपर आसानी से उन्हें आज़मा सकें.
- सभी सोर्स को Kotlin पर माइग्रेट कर दिया गया है. इस बदलाव के तहत, अब कई एपीआई, शून्य के लिए सही तरीके से टाइप किए गए हैं. साथ ही, कुछ पैकेज प्राइवेट सदस्य
internal
बन गए हैं. सटीक बदलावों की सूची नीचे 1.3.x के लिए छोटे-मोटे रिलीज़ नोट में उपलब्ध है. - Kotlin माइग्रेशन के साथ-साथ,
collection-ktx
को मुख्य कलेक्शन आर्टफ़ैक्ट के साथ मर्ज कर दिया गया है.collection-ktx
अब खाली है, इसलिएcollection:collection-ktx
पर निर्भरता कोcollection:collection
के लिए सुरक्षित तरीके से हटाया जा सकता है.
वर्शन 1.3.0-rc01
6 सितंबर, 2023
androidx.collection:collection-*:1.3.0-rc01
को बिना किसी बदलाव के रिलीज़ किया जाता है. 1.3.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta01
9 अगस्त, 2023
androidx.collection:collection-*:1.3.0-beta01
रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये कमिट हैं.
वर्शन 1.3.0-alpha04
24 मार्च, 2023
androidx.collection:collection-*:1.3.0-alpha04
रिलीज़ हो गया है.
गड़बड़ियां ठीक की गईं
- Kotlin नेटिव टारगेट (b/274786186, KT-57531) में, बिल्ड से जुड़ी समस्या को हल करने के लिए, Maven आर्टफ़ैक्ट से डिपेंडेंसी की पाबंदियां हटा दी गई हैं.
वर्शन 1.3.0-alpha03
22 मार्च, 2023
androidx.collection:collection-*:1.3.0-alpha03
रिलीज़ हो गया है. 1.3.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- अब आप KMM प्रोजेक्ट में संग्रह का इस्तेमाल कर सकते हैं. ध्यान दें कि कलेक्शन की सुविधा, Android के अलावा अन्य प्लैटफ़ॉर्म के लिए अभी एक्सपेरिमेंट के तौर पर उपलब्ध है. हालांकि, हमने वर्शन मर्ज करने का फ़ैसला लिया है, ताकि डेवलपर आसानी से उन्हें आज़मा सकें.
एपीआई में बदलाव
ArraySet
अबAbstractMutableCollection
के बजायMutableCollections
लागू करता है, ताकिtoArray
(I1ac32) को ज़्यादा मेमोरी के साथ लागू किया जा सके
गड़बड़ियां ठीक की गईं
ArraySet.toArray
अब सिर्फ़ JVM पर उपलब्ध है, क्योंकि इसे हमेशा सिर्फ़ Java के साथ काम करने के लिए शामिल किया गया था. आम तौर पर, Kotlin के उपयोगकर्ताओं को stdlib के.toTypedArray
हेल्पर फ़ंक्शन का इस्तेमाल करना चाहिए. ये फ़ंक्शन, टाइप सेफ़्टी के साथ-साथ वही फ़ंक्शन देते हैं जो stdlib के.toTypedArray
फ़ंक्शन देते हैं. (I2c59b)
वर्शन 1.3.0-alpha02
27 जुलाई, 2022
androidx.collection:collection:1.3.0-alpha02
और androidx.collection:collection-ktx:1.3.0-alpha02
रिलीज़ हो गए हैं. 1.3.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
एपीआई में बदलाव
SparseArrayCompat
अब सामान्य आर्टफ़ैक्ट (Ic9bd0, b/219589118, b/228347315) से, नॉन-जेवीएम प्लैटफ़ॉर्म के लिए उपलब्ध हैCircularIntArray
अब सामान्य आर्टफ़ैक्ट (I3d8ef, b/228344943) से, नॉन-जेवीएम प्लैटफ़ॉर्म के लिए उपलब्ध हैLongSparseArray
, अब सामान्य आर्टफ़ैक्ट से गैर-jvm प्लैटफ़ॉर्म के लिए उपलब्ध है (I73149, b/228347315)
वर्शन 1.3.0-alpha01
29 जून, 2022
androidx.collection:collection:1.3.0-alpha01
और androidx.collection:collection-ktx:1.3.0-alpha01
रिलीज़ हो गए हैं. वर्शन 1.3.0-alpha01 में ये कमियां हैं.
नई सुविधाएं
collection-ktx
एक्सटेंशन को मुख्य कलेक्शन आर्टफ़ैक्ट,androidx.collection:collection
में माइग्रेट कर दिया गया है. इस बदलाव से, Kotlin के उपयोगकर्ताओं को पहले से मौजूद -ktx एक्सटेंशन ऐक्सेस करने की सुविधा मिलती है. इसके लिए, उन्हें -ktx डिपेंडेंसी की ज़रूरत नहीं पड़ती. साथ ही, मौजूदा उपयोगकर्ताओं के लिए, यह सुविधा पहले की तरह ही काम करती रहेगी. इन एक्सटेंशन को एक अलग -ktx आर्टफ़ैक्ट में बनाए रखना अब फ़ायदेमंद नहीं है, क्योंकि मुख्य आर्टफ़ैक्ट को Kotlin में ले जाया गया है. (I6eef2)
एपीआई में हुए बदलाव
ArraySet
अबAbstractMutableCollection
को एक्सटेंड करता है और सीधे तौर पर कलेक्शन इंटरफ़ेस लागू नहीं करता. (If6da0, b/230860589)ArraySet
को Kotlin में बदला गया. टाइपिंग के सख्त नियमों की वजह से, हो सकता है कि कुछ Kotlin कॉल अब कंपाइल न हों. (Id68c1, b/230860589)- इन कॉल में ऑर्ग्युमेंट का टाइप
T
है, न किT?
:ArraySet<T>.contains(null)
ArraySet<T>.add(null)
ArraySet<T>.remove(null)
- इन कॉल का रिटर्न टाइप
T?
है, न किT!
:ArraySet<T?>.valueAt(n)
ArraySet<T?>.removeAt(n)
ArraySet<T?>().iterator().next()
- Kotlin से अब इस तरह के कॉल नहीं किए जा सकते:
set.toArray()
- इस्तेमाल करेंset.toTypedArray()
set.toArray(array)
- इस्तेमाल करेंset.forEachIndexed(array::set)
- इन कॉल में ऑर्ग्युमेंट का टाइप
SparseArrayCompat
के लिए ओवरलोडेड कंस्ट्रक्टर को, Kotlin उपयोगकर्ताओं के लिए वैकल्पिक आर्ग्युमेंट के तौर पर जोड़ें. (If8407, b/227474719)SparseArrayCompat.get(key, defaultValue).
के लिए ऑपरेटर सिंटैक्स हटाएं. ध्यान दें कि यह अब भी.get(key)
के लिए ऑपरेटर सिंटैक्स की अनुमति देता है. हालांकि, यहSparseArrayCompat
के एपीआई सरफ़ेस को इस लाइब्रेरी की अन्य क्लास के साथ बेहतर तरीके से अलाइन करता है. (I9a38d)LongSparseArray
एक्सटेंशन को मुख्य आर्टफ़ैक्ट, androidx.collection:collection में माइग्रेट करें. इस बदलाव से, Kotlin के उपयोगकर्ताओं को पहले से मौजूद -ktx एक्सटेंशन ऐक्सेस करने की सुविधा मिलती है. इसके लिए, उन्हें -ktx डिपेंडेंसी की ज़रूरत नहीं पड़ती. साथ ही, मौजूदा उपयोगकर्ताओं के लिए, यह सुविधा पहले की तरह ही काम करती रहेगी. मुख्य आर्टफ़ैक्ट को Kotlin में माइग्रेट कर दिया गया है. इसलिए, इन एक्सटेंशन को अलग -ktx आर्टफ़ैक्ट में बनाए रखना अब फ़ायदेमंद नहीं है. (I8659a)LongSparseArray
को Kotlin में बदलें. इस बदलाव से इसके टाइप में साफ़ तौर पर कोई वैल्यू नहीं मिलती है. यह बाइनरी के साथ काम करने वाला बदलाव है, लेकिन इसकी वजह से सोर्स के साथ गड़बड़ियां हो सकती हैं. खास तौर पर: *.isEmpty
को अब प्रॉपर्टी के तौर पर ऐक्सेस नहीं किया जा सकता. इसे Kotlin में फ़ंक्शन कॉल के तौर पर ऐक्सेस किया जाना चाहिए -.isEmpty()
(Idfd0f)SimpleArrayMap
को Kotlin में बदलें. Java-Kotlin इंटरऑप और सोर्स में शून्य टाइप को सही तरीके से तय करने की क्षमता की वजह से, इस बदलाव में कुछ असंगत बदलाव हुए हैं.- पैकेज के निजी एपीआई,
.mSize
,.mArray
,.mHashes
,.indexOf()
,.indexOfNull()
, और.indexOfValue()
को निजी बनाया गया था - यह तकनीकी तौर पर बाइनरी के साथ काम नहीं करता, लेकिन यह इन फ़ील्ड की सही तरह से दिखने की जानकारी देता है. साथ ही, Kotlin में हम इसे सबसे करीब से हासिल कर सकते हैं, क्योंकि इसमें पैकेज के निजी तौर पर दिखने की जानकारी देने का तरीका शामिल नहीं है. - कुछ टाइप की शून्यता को अब सही तरीके से तय कर दिया गया है. जिन तरीकों
पर असर पड़ा है वे हैं:
.getOrDefault
,.keyAt
,.valueAt
,.setValueAt
,.put
,.putIfAbsent
,.removeAt
,.replace
. - Kotlin इस्तेमाल करने वाले लोगों के लिए,
.isEmpty()
अब सिर्फ़ फ़ंक्शन के तौर पर उपलब्ध है. इसे प्रॉपर्टी ऐक्सेस के ज़रिए भी ऐक्सेस नहीं किया जा सकता. (I271b7, b/182813986)
- पैकेज के निजी एपीआई,
CircularArray
को Kotlin में बदलें. ध्यान देने लायक बदलाव:- अपने जेनरिक की शून्यता को सुधार कर गैर-शून्य कर देता है, जिसकी जानकारी पहले नहीं दी जा सकती थी, लेकिन उसे उसके सभी सार्वजनिक एपीआई में लागू किया गया था.
- Kotlin के Java इंटरऑप की वजह से, पहले प्रॉपर्टी या फ़ंक्शन, दोनों के तौर पर कुछ मेथड को ऐक्सेस किया जा सकता था. हालांकि, बाइनरी के साथ काम करने की सुविधा को बनाए रखते हुए, डुप्लीकेट को कम करने के लिए, इन्हें हटाना ज़रूरी था. यह बदलाव, सोर्स के साथ काम नहीं करता. जिन कॉल पर असर पड़ा है वे ये हैं:
.isEmpty
,.getLast()
, और.getFirst()
. (इफ़फ़ैक)
CircularIntArray
को Kotlin में बदलें. Kotlin के Java इंटरऑप की वजह से, पहले कुछ मेथड को प्रॉपर्टी या फ़ंक्शन, दोनों के तौर पर ऐक्सेस किया जा सकता था. हालांकि, बाइनरी के साथ काम करने की सुविधा को बनाए रखते हुए, डुप्लीकेट को कम करने के लिए, इन्हें हटाना ज़रूरी था. यह बदलाव, सोर्स के साथ काम नहीं करता. जिन कॉल पर असर पड़ा है वे ये हैं:.isEmpty
,.getLast()
, और.getFirst()
. (Ie36ce)LruCache
को Kotlin में बदलना (Ia2f19)SparseArrayCompat
को Kotlin में बदलें. (If6fe8)SparseArrayCompat.valueAt()
में, व्यवहार से जुड़ा एक छोटा बदलाव किया गया है. इससे,size()
की सीमाओं से बाहर के ऐसे कॉल के लिए,null
को गलत तरीके से नहीं दिखाया जाएगा जो शुरू नहीं किए गए हैं, लेकिन दिए गए शुरुआती स्टोरेज में हैं.इस बदलाव से कुछ ऐसे टाइप के लिए भी सही वैल्यू न दिखे जो पहले मौजूद नहीं थीं.
.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)
वर्शन 1.2.0
वर्शन 1.2.0
1 दिसंबर, 2021
androidx.collection:collection:1.2.0
और androidx.collection:collection-ktx:1.2.0
रिलीज़ हो गए हैं. वर्शन 1.2.0 में ये कमियां शामिल हैं.
1.1.0 के बाद किए गए अहम बदलाव
ArraySet
में ऐरे कन्स्ट्रक्टर जोड़ें. (आईडी7f19)entrySet()
को एपीआई के मुताबिक बनाने के लिए,entrySet().toArray()
,remove()
,removeAll()
, औरretainAll()
को लागू करें. साथ ही,entrySet().addAll()
को लागू करने की सुविधा हटाएं (I5d505)
वर्शन 1.2.0-rc01
17 नवंबर, 2021
androidx.collection:collection:1.2.0-rc01
और androidx.collection:collection-ktx:1.2.0-rc01
रिलीज़ हो गए हैं. 1.2.0-rc01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में बदलाव
- पिछले बीटा वर्शन की तुलना में कोई बदलाव नहीं किया गया है.
वर्शन 1.2.0-beta01
13 अक्टूबर, 2021
androidx.collection:collection:1.2.0-beta01
और androidx.collection:collection-ktx:1.2.0-beta01
रिलीज़ हो गए हैं. 1.2.0-beta01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
entrySet()
को एपीआई के मुताबिक बनाने के लिए,entrySet().toArray()
,remove()
,removeAll()
, औरretainAll()
को लागू करें. साथ ही,entrySet().addAll()
को लागू करने की सुविधा हटाएं (I5d505)
वर्शन 1.2.0-alpha01
16 दिसंबर, 2020
androidx.collection:collection:1.2.0-alpha01
और androidx.collection:collection-ktx:1.2.0-alpha01
रिलीज़ हो गए हैं. वर्शन 1.2.0-alpha01 में ये कमियां हैं.
एपीआई में हुए बदलाव
ArraySet
में ऐरे कन्स्ट्रक्टर जोड़ें. (Id7f19)
वर्शन 1.1.0
वर्शन 1.1.0
5 जून, 2019
androidx.collection:collection:1.1.0
और androidx.collection:collection-ktx:1.1.0
रिलीज़ हो गए हैं. 1.1.0 में शामिल कमिट को यहां देखा जा सकता है.
1.0.0 से 1.1.0 में हुए बदलावों की खास जानकारी यहां दी गई है:
नई सुविधाएं
- 'collection-ktx' आर्टफ़ैक्ट में,
contains
औरisNotEmpty
फ़ंक्शन को लागू करने के लिए ज़्यादा बेहतर तरीके का इस्तेमाल करें. (aosp/866529)
एपीआई में हुए बदलाव
putIfAbsent
कोLongSparseArray
,SimpleArrayMap
, औरSparseArrayCompat
में जोड़ें (aosp/772608)SimpleArrayMap
मेंgetOrDefault
जोड़ें (aosp/772607)LongSparseArray
,SimpleArrayMap
, औरSparseArrayCompat
में दो आर्ग्युमेंट वालाremove
जोड़ें. इस सुविधा के लिए, मिलते-जुलते KTX एक्सटेंशन का इस्तेमाल बंद करें. (aosp/772482)LongSparseArray
,SimpleArrayMap
, औरSparseArrayCompat
में दो आर्ग्युमेंटreplace
जोड़ें (aosp/772483)LongSparseArray
,SimpleArrayMap
, औरSparseArrayCompat
में तीन आर्ग्युमेंट वालाreplace
जोड़ें (aosp/772484)delete
के ऐसे तरीके हटा दें जो काम के नहीं हैं.remove
वाले तरीके में भी वही एपीआई और फ़ंक्शन मिलते हैं. साथ ही, यह उस एपीआई से मैच करता है जिसका इस्तेमाल किसी खास मैप के लिए नहीं किया गया है. (aosp/866053)
गड़बड़ियां ठीक की गईं
SimpleArrayMap
को बदलकर, ऐरे के अपने इंटरनल ग्लोबल कैश कोArrayMap.class
के बजायSimpleArrayMap.class
पर सिंक करें. इससे यह पक्का होता है कि अगर सिर्फ़SimpleArrayMap
का इस्तेमाल किया जा रहा है, तो कोड को छोटा करने वाले टूल की मदद सेArrayMap
को हटाया जा सकता है. (aosp/934557)
वर्शन 1.1.0-rc01
7 मई, 2019
androidx.collection:collection:1.1.0-rc01
और androidx.collection:collection-ktx:1.1.0-rc01
रिलीज़ हो गए हैं. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
नई सुविधाएं
- 'collection-ktx' आर्टफ़ैक्ट में,
contains
औरisNotEmpty
फ़ंक्शन को लागू करने के लिए ज़्यादा बेहतर तरीके का इस्तेमाल करें. (aosp/866529)
वर्शन 1.1.0-beta01
3 अप्रैल, 2019
androidx.collection:collection:1.1.0-beta01
और androidx.collection:collection-ktx:1.1.0-beta01
रिलीज़ हुई हैं. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
एपीआई में किए गए बदलाव
- ऐल्फ़ा03 प्रॉडक्ट की जानकारी में
@RestrictTo
की वैल्यू बदलने के तौर पर बताए गए तरीके को हटा दिया गया है. इसका इस्तेमाल, किसी भी AndroidX लाइब्रेरी ने न तो अब किया है और न ही पहले किया था. साथ ही, इसमें कोई ऐसा फ़ंक्शन नहीं था जो सार्वजनिक एपीआई में मौजूद नहीं था.
गड़बड़ियां ठीक की गईं
SimpleArrayMap
को बदलकर, ऐरे के अपने इंटरनल ग्लोबल कैश कोArrayMap.class
के बजायSimpleArrayMap.class
पर सिंक करें. इससे यह पक्का हो जाता है कि अगर आप सिर्फ़SimpleArrayMap
का इस्तेमाल कर रहे हैं, तो कोड छोटा करने वाले टूल की मदद सेArrayMap
को हटाया जा सकता है. (aosp/934557)
वर्शन 1.1.0-alpha03
13 मार्च, 2019
androidx.collection:collection:1.0.0-alpha03
और
androidx.collection:collection-ktx:1.0.0-alpha03
रिलीज़ हो गई हैं.
इस वर्शन में शामिल किए गए सभी कमिट की पूरी सूची यहां देखी जा सकती है.
एपीआई में किए गए बदलाव
ArraySet
में पहले से@RestrictTo(LIBRARY_GROUP)
के तौर पर मार्क किया गया तरीका बदलकर@RestrictTo(LIBRARY_GROUP_PREFIX)
किया गया था. ऐसा इसलिए किया गया है, ताकि अन्य AndroidX लाइब्रेरी के पुराने इस्तेमाल को भी ऐक्सेस किया जा सके. ये लाइब्रेरी अब अलग-अलग मेवन ग्रुप आईडी में मौजूद हैं. इस तरीके को सार्वजनिक किया जाएगा या 1.1.0-alpha04 में हटा दिया जाएगा. ऐसा इसलिए, क्योंकि अन्य AndroidX लाइब्रेरी को ऐसे खास एपीआई नहीं मिलने चाहिए जो अन्य डेवलपर को नहीं मिलते.
वर्शन 1.1.0-alpha02
30 जनवरी, 2019
androidx.collection:collection 1.1.0-alpha02
और
androidx.collection:collection-ktx 1.1.0-alpha02
रिलीज़ हो गए हैं.
एपीआई में हुए बदलाव
delete
के ग़ैर-ज़रूरी तरीकों का इस्तेमाल न करें.remove
के तरीके, एक ही एपीआई और सुविधाएं देते हैं. साथ ही, ये सामान्य Maps के इस्तेमाल किए जाने वाले एपीआई से मेल खाते हैं. (aosp/866053)
वर्शन 1.1.0-alpha01
3 दिसंबर, 2018
एपीआई में हुए बदलाव
LongSparseArray
,SimpleArrayMap
, औरSparseArrayCompat
(aosp/772608) मेंputIfAbsent
जोड़ेंSimpleArrayMap
मेंgetOrDefault
जोड़ें (aosp/772607)LongSparseArray
,SimpleArrayMap
, औरSparseArrayCompat
में दो आर्ग्युमेंट वालाremove
जोड़ें. इस सुविधा के लिए, मिलते-जुलते KTX एक्सटेंशन का इस्तेमाल बंद करें. (aosp/772482)LongSparseArray
,SimpleArrayMap
, औरSparseArrayCompat
में दो आर्ग्युमेंट वालाreplace
जोड़ें (aosp/772483)LongSparseArray
,SimpleArrayMap
, औरSparseArrayCompat
में तीन आर्ग्युमेंट वालाreplace
जोड़ें (aosp/772484)