সংগ্রহ

বিদ্যমান এবং নতুন ছোট সংগ্রহের স্মৃতির প্রভাব হ্রাস করুন।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ রিলিজ প্রার্থী বিটা রিলিজ আলফা রিলিজ
১৪ জানুয়ারী, ২০২৬ ১.৫.০ - ১.৬.০-বিটা০১ -

নির্ভরতা ঘোষণা করা

কালেকশনের উপর নির্ভরতা যোগ করতে, আপনার প্রোজেক্টে গুগল ম্যাভেন রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য গুগলের ম্যাভেন রিপোজিটরি পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টের জন্য নির্ভরতা যোগ করুন:

গ্রোভি

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

কোটলিন

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

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যোগ করুন দেখুন।

প্রতিক্রিয়া

আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করবে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরিটি উন্নত করার জন্য কোন ধারণা থাকে তাহলে আমাদের জানান। নতুন একটি তৈরি করার আগে দয়া করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি একবার দেখে নিন। আপনি তারকা বোতামে ক্লিক করে বিদ্যমান সমস্যাটিতে আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 1.6

সংস্করণ 1.6.0-beta01

১৪ জানুয়ারী, ২০২৬

androidx.collection:collection-*:1.6.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-beta01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • .toScatterSet() এবং .toScatterMap() এক্সটেনশন যোগ করা হয়েছে। এগুলি পরিবর্তনযোগ্য রূপান্তর ফাংশনের জন্য একটি পঠনযোগ্য বিকল্প প্রদান করে এবং উৎস সংগ্রহ খালি থাকলে বরাদ্দ-মুক্ত সিঙ্গেলটন ফেরত দেয়। ( I1769a , b/459867876 )
  • MutableScatterMap(source) এবং MutableScatterSet(source) সিউডো-কনস্ট্রাক্টরগুলিকে স্ট্যান্ডার্ড .toMutableScatterMap() এবং .toMutableScatterSet() এক্সটেনশন ফাংশন দিয়ে প্রতিস্থাপন করুন। এটি সংগ্রহ রূপান্তরের জন্য Kotlin কনভেনশনের সাথে সামঞ্জস্যপূর্ণ। ( Ic9ca6 , b/459867876 )
  • MutableScatterMap(Map) এবং MutableScatterSet(Set) ফ্যাক্টরি ফাংশন যোগ করুন। এই ফাংশনগুলি ব্যবহার করে সহজেই একটি বিদ্যমান সংগ্রহের বিষয়বস্তু দিয়ে ভরা একটি স্ক্যাটার সংগ্রহ তৈরি করুন। ( I51d70 )

বাগ ফিক্স

  • এই লাইব্রেরিটি এখন JSpecify nullness annotations ব্যবহার করে, যা টাইপ-ব্যবহারের। সঠিক ব্যবহার জোরদার করার জন্য Kotlin ডেভেলপারদের নিম্নলিখিত কম্পাইলার আর্গুমেন্ট ব্যবহার করা উচিত: -Xjspecify-annotations=strict (এটি Kotlin কম্পাইলারের 2.1.0 সংস্করণ থেকে শুরু করে ডিফল্ট) ( I05181 , b/326456246 )

সংস্করণ 1.6.0-alpha01

২৭ আগস্ট, ২০২৫

androidx.collection:collection-*:1.6.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • Kotlin 2.0 দিয়ে মুক্তিপ্রাপ্ত প্রকল্পগুলির জন্য KGP 2.0.0 বা তার নতুন সংস্করণ ব্যবহার করা প্রয়োজন ( Idb6b5 )

বাগ ফিক্স

  • পূর্বে SparseArrayCompat বরাদ্দকৃত পরিসরের মধ্যে থাকা কিন্তু সন্নিবেশিত পরিসর 0..size -1 এর বাইরে থাকা একটি সূচক পাস করার সময় valueAt এবং keyAt এর জন্য null রিটার্ন করত। নথিভুক্ত হিসাবে, এই আচরণটি কখনই প্রত্যাশিত ছিল না এবং বৈধ ইনপুট পরিসরের বাইরে ছিল এবং এই পরিবর্তনটি এই আচরণটিকে সংশোধন করে একটি অবৈধ সূচক পাস করার সময় IndexOutOfBounds ছুঁড়ে দেয়। ( I68453 )

বহিরাগত অবদান

নিম্নলিখিত অবদানের জন্য জ্যাক ওয়ার্টনকে ধন্যবাদ:

  • অন্তর্ভুক্ত উপাদানগুলিকে সীমিত করার সময়, ছেঁটে ফেলার নির্দেশকের আগে একটি বিভাজক এবং পরে পোস্টফিক্স যোগ করে প্ল্যাটফর্ম সংগ্রহের সাথে joinToString আচরণ সারিবদ্ধ করুন। ( I1b7e8 )
  • ScatterSet.hashCode আর পুনরাবৃত্তির বিরুদ্ধে (অর্থাৎ, সেটটি নিজেই যোগ করা হচ্ছে) প্রতিরক্ষা করে না। এটি এর আচরণকে ScatterMap , HashSet এবং আদিম স্ক্যাটার-ভিত্তিক সেটগুলির (যেমন, LongSet ) সাথে সামঞ্জস্যপূর্ণ করে। মনে রাখবেন যে equals পদ্ধতিটি ইতিমধ্যেই পুনরাবৃত্তির জন্য সংবেদনশীল ছিল এবং toString এর বিরুদ্ধে প্রতিরক্ষা করে - উভয় আচরণই অন্যান্য সংগ্রহের সাথে সামঞ্জস্যপূর্ণ। ( I9c84a )
  • ল্যাম্বডা ইনস্ট্যান্স তৈরি এড়াতে ScatterSet.retainAll ফাংশনটি এখন ইনলাইন। ( Ifa4b7 )
  • ScatterSet.hashCode আর হ্যাশ গণনায় তার ক্ষমতা ব্যবহার করে না, যাতে সমান বিষয়বস্তু নিশ্চিত করা যায় কিন্তু বিভিন্ন ক্ষমতা এখনও একই মান তৈরি করে। ( Ic863b )
  • ScatterMap.asMap() অথবা ScatterSet.asSet() এর keys , values , অথবা entries সংগ্রহের একটি ইটারেটরে, যদি আপনি next() এর আগে remove() কল করেন, তাহলে IllegalStateException এখন থ্রো করা হবে। এটি এর আচরণকে নিয়মিত মানচিত্র এবং সেট আচরণের সাথে সারিবদ্ধ করে। ( I71694 )

সংস্করণ 1.5

সংস্করণ 1.5.0

১২ মার্চ, ২০২৫

androidx.collection:collection-*:1.5.0 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.5.0-rc01

২৬ ফেব্রুয়ারী, ২০২৫

androidx.collection:collection-*:1.5.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-rc01-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.5.0-beta03

২৯ জানুয়ারী, ২০২৫

androidx.collection:collection-*:1.5.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-beta03-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.5.0-beta02

১৫ জানুয়ারী, ২০২৫

androidx.collection:collection-*:1.5.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-beta02-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.5.0-beta01

১১ ডিসেম্বর, ২০২৪

androidx.collection:collection-*:1.5.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-beta01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • watchosDeviceArm64 KMP টার্গেট এবং টার্গেট কোটলিন 1.9 ( Icf15d , b/364652024 ) এর জন্য সমর্থন যোগ করে।

সংস্করণ 1.5.0-alpha06

১৩ নভেম্বর, ২০২৪

androidx.collection:collection-*:1.5.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha06-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • SieveCache এবং OrderedScatterSet এ একাধিক আইটেম যোগ করার সময় বারবার কী সংঘর্ষের কারণ হতে পারে এমন একটি ক্র্যাশ ঠিক করা হয়েছে। ( Iaaf3d , b/375607736 )
  • সংগ্রহ লাইব্রেরিতে wasm টার্গেট যোগ করুন। ( I66fe3 , b/352722444 )

সংস্করণ 1.5.0-alpha05

৩০ অক্টোবর, ২০২৪

androidx.collection:collection-*:1.5.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha05-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.5.0-alpha04

১৬ অক্টোবর, ২০২৪

androidx.collection:collection-*:1.5.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha04-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.5.0-alpha03

২ অক্টোবর, ২০২৪

androidx.collection:collection-*:1.5.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha03-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • কোটলিন সংস্করণ 1.9 ( I1a14c ) এ আপডেট করা হয়েছে

বহিরাগত অবদান

  • contains containsKey ফরোয়ার্ড করুন। ধন্যবাদ জ্যাক ওয়ার্টন! ( I9362b )
  • স্কেলার-বিশেষায়িত সংগ্রহের জন্য কন্টেইনার বিল্ডার যোগ করুন। ধন্যবাদ জ্যাক ওয়ার্টন! ( I13179 )

সংস্করণ 1.5.0-alpha02

১৮ সেপ্টেম্বর, ২০২৪

androidx.collection:collection-*:1.5.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha02-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • watchosDeviceArm64 প্ল্যাটফর্ম টার্গেটের জন্য সমর্থন যোগ করে। ( I1cc04 , b/364652024 )

সংস্করণ 1.5.0-alpha01

৪ সেপ্টেম্বর, ২০২৪

androidx.collection:collection-*:1.5.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • OrderedScatterSet হল একটি নতুন অর্ডার করা, বরাদ্দ-মুক্ত সংগ্রহ ( Ic4178 )
  • SieveCache হল LruCache জন্য একটি নতুন বরাদ্দ-মুক্ত প্রতিস্থাপন যা আরও ভালো হিট অনুপাত বৈশিষ্ট্য প্রদান করে। ( I50a17 )
  • IntIntPair এবং FloatFloatPair এর জন্য packedValue অভ্যন্তরীণ উপস্থাপনা প্রকাশ করা হয়েছে। ( Ifeb75 , b/331853566 )
  • তালিকা সংগ্রহে কন্টেন্ট অ্যারেতে অ্যাক্সেস যোগ করা হচ্ছে। ( I899d5 , b/333903173 )
  • DoubleList যোগ করুন, একটি তালিকার মতো ডেটা স্ট্রাকচার যা ডাবল মানের জন্য অপ্টিমাইজ করা হয়েছে। ( Ia10d1 , b/315127635 )

বাগ ফিক্স

  • কালেকশনস লাইব্রেরি কোটলিন ১.৯ ( I0782f ) টার্গেটের দিকে যাচ্ছে।
  • আরও দক্ষ করার জন্য অনেক সংগ্রহকে অপ্টিমাইজ করুন। ( Ic0566 )

সংস্করণ 1.4

সংস্করণ 1.4.5

৩০ অক্টোবর, ২০২৪

androidx.collection:collection-*:1.4.5 প্রকাশিত হয়েছে। সংস্করণ 1.4.5-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.4.4

১৮ সেপ্টেম্বর, ২০২৪

androidx.collection:collection-*:1.4.4 প্রকাশিত হয়েছে। সংস্করণ 1.4.4-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • খালি সংগ্রহ বাছাই করার সময় ওয়ার্কারাউন্ড ArrayIndexOutOfBounds । ( I65245 )

সংস্করণ 1.4.3

৭ আগস্ট, ২০২৪

androidx.collection:collection-*:1.4.3 প্রকাশিত হয়েছে। সংস্করণ 1.4.3-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • ScatterMap , ScatterSet এবং তাদের আদিম রূপগুলিতে হতে পারে এমন একটি দুর্নীতি ঠিক করা হয়েছে। ( I38a4a , b/352560465 )
  • কর্মক্ষমতা অপ্টিমাইজেশন। বিশেষ করে:
    • check() এবং required() এর কলগুলিকে এমন ভেরিয়েন্ট দিয়ে প্রতিস্থাপন করুন যা ব্যতিক্রম থ্রো ইনলাইন করে না। এটি চূড়ান্ত বাইনারি আকার হ্রাস করে এবং আরও গুরুত্বপূর্ণভাবে i-cache চাপ কিছুটা কমায়।
    • "স্ক্যাটার" সংগ্রহের পরিবারে removeDeletedMarkers() উন্নত করা হয়েছে। নতুন সংস্করণটি একবারে 8টি মার্কার মুছে ফেলা হয়েছে এবং প্রক্রিয়াটিতে আরও ব্যয়বহুল লেখা এড়িয়ে গেছে। ( Ic0566 )

সংস্করণ 1.4.2

২৪ জুলাই, ২০২৪

androidx.collection:collection-*:1.4.2 প্রকাশিত হয়েছে। সংস্করণ 1.4.2-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • অতিরিক্ত কোটলিন মাল্টিপ্ল্যাটফর্ম লক্ষ্যগুলি অন্তর্ভুক্ত করে: watchos , tvos , linuxArm64 । ( b/352543988 )

সংস্করণ 1.4.1

১০ জুলাই, ২০২৪

androidx.collection:collection-*:1.4.1 প্রকাশিত হয়েছে। সংস্করণ 1.4.1-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • আকার পরিবর্তন করার সময় মানচিত্র/সেট থেকে মুছে ফেলা সমাধিফলকগুলি সরান। ( 7a996c5 , b/345960092 )

সংস্করণ 1.4.0

২৪ জানুয়ারী, ২০২৪

androidx.collection:collection-*:1.4.0 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-এ এই কমিটগুলি রয়েছে।

১.৩.০ থেকে গুরুত্বপূর্ণ পরিবর্তনগুলি

বক্সিং ছাড়াই আদিম জিনিসপত্র সংরক্ষণের জন্য নতুন উচ্চ-দক্ষতার সংগ্রহ যুক্ত করা হয়েছে:

  • MutableScatterMap & ScatterMap - MutableMap & Map-এর মতো API সহ ক্লাস
  • MutableScatterSet & ScatterSet - MutableSet & Set-এর মতো API সহ ক্লাস
  • MutableObjectList & ObjectList - MutableList & List-এর মতো API সহ ক্লাস

উদাহরণস্বরূপ, একটি পূর্ণসংখ্যা কী এবং একটি রেফারেন্স টাইপ মান সহ একটি মানচিত্র হল একটি IntObjectMap<T> । একটি দীর্ঘ কী এবং একটি ফ্লোট মান সহ একটি মানচিত্র হল একটি LongFloatMapObjectObjectMap নামের কোনও সংস্করণ নেই কারণ এটি ScatterMap/MutableScatterMap দ্বারা আচ্ছাদিত।

সংস্করণ 1.4.0-rc01

১০ জানুয়ারী, ২০২৪

androidx.collection:collection-*:1.4.0-rc01 কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 1.4.0-rc01-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.4.0-beta02

২৯ নভেম্বর, ২০২৩

androidx.collection:collection-*:1.4.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-beta02-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • FloatFloatPair এর উন্নত কর্মক্ষমতা। ( If5537 )

বাগ ফিক্স

  • ScatterMap.asMap() ইটারেটর এখন নতুন ইনস্ট্যান্স ফেরত দেয় ( I28932 , b/310365754 )

সংস্করণ 1.4.0-beta01

১৫ নভেম্বর, ২০২৩

androidx.collection:collection-*:1.4.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-beta01-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • IndexOutOfBoundsException এর কারণে ক্র্যাশ হতে পারে এমন ObjectListListIterator ভুল মান সেট করার সমস্যাটি ঠিক করুন। ( I3bd8a , b/307049391 )

সংস্করণ 1.4.0-alpha02

১৮ অক্টোবর, ২০২৩

androidx.collection:collection-*:1.4.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha02-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • put জন্য অতিরিক্ত লোড যোগ করা হয়েছে যা পূর্ববর্তী মানটি ফেরত দেয় যখন এটি সমস্ত আদিম সংগ্রহে প্রতিস্থাপন করা হয়, যেমন FloatFloatMap
  • MutableFloatFloatMap এর মতো আদিম সংগ্রহগুলিতে removeIf পদ্ধতিগুলিকে ইনলাইনে রূপান্তর করুন। এটি নিশ্চিত করে যে removeIf এর জন্য ল্যাম্বডা বরাদ্দ করা হয়নি।

সংস্করণ 1.4.0-alpha01

৪ অক্টোবর, ২০২৩

androidx.collection:collection-*:1.4.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha01-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

নতুন উচ্চ-দক্ষতাসম্পন্ন সংগ্রহ যুক্ত করা হয়েছে যার বরাদ্দ ওভারহেড কম এবং কর্মক্ষমতা উচ্চ:

  • MutableScatterMap & ScatterMap - MutableMap & Map-এর মতো API সহ ক্লাস
  • MutableScatterSet & ScatterSet - MutableSet & Set-এর মতো API সহ ক্লাস
  • MutableObjectList & ObjectList - MutableList & List-এর মতো API সহ ক্লাস

বক্সিং ছাড়াই আদিম জিনিসপত্র সংরক্ষণের জন্য নতুন উচ্চ-দক্ষতার সংগ্রহ যুক্ত করা হয়েছে:

  • Mutable[Int|Float|Long]List - MutableList<Int|Float|Long> -এর মতো API সহ ক্লাস। শুধুমাত্র পঠনযোগ্য [Int|Float|Long]List ও বিদ্যমান। উদাহরণস্বরূপ, পূর্ণসংখ্যা একটি IntList এ রাখা যেতে পারে।
  • Mutable[Int|Float|Long]Set - MutableSet<Int|Float|Long> -এর মতো API সহ ক্লাস। শুধুমাত্র পঠনযোগ্য [Int|Float|Long]Set ও বিদ্যমান। উদাহরণস্বরূপ, পূর্ণসংখ্যা একটি IntSet-এ রাখা যেতে পারে।
  • Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map - Mutable<Int|Float|Long,T, Int|Float|Long|T> -এর মতো API সহ ক্লাস। শুধুমাত্র পঠনযোগ্য [Int|Float|Long|Object][Int|Float|Long|Object]Map ও বিদ্যমান। উদাহরণস্বরূপ, একটি পূর্ণসংখ্যা কী এবং একটি রেফারেন্স টাইপ মান সহ একটি মানচিত্র হল একটি IntObjectMap<T> । একটি দীর্ঘ কী এবং একটি float মান সহ একটি মানচিত্র হল একটি LongFloatMapObjectObjectMap নামের কোনও সংস্করণ নেই কারণ এটি ScatterMap/MutableScatterMap দ্বারা আচ্ছাদিত।

সংস্করণ 1.3.0

সংস্করণ 1.3.0

৪ অক্টোবর, ২০২৩

androidx.collection:collection-*:1.3.0 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-এ এই কমিটগুলি রয়েছে।

১.২.০ থেকে গুরুত্বপূর্ণ পরিবর্তনগুলি

  • আপনি এখন কোটলিন মাল্টিপ্ল্যাটফর্ম প্রকল্পগুলিতে কালেকশন ব্যবহার করতে পারেন। মনে রাখবেন যে কালেকশনের নন-অ্যান্ড্রয়েড টার্গেটগুলি এখনও পরীক্ষামূলক, তবে ডেভেলপারদের জন্য সেগুলি ব্যবহার করা সহজ করার জন্য আমরা সংস্করণগুলিকে একত্রিত করার সিদ্ধান্ত নিয়েছি।
  • সমস্ত উৎস কোটলিনে স্থানান্তরিত করা হয়েছে। এই পরিবর্তনের অংশ হিসেবে, অনেক API এখন nullity-এর জন্য সঠিকভাবে টাইপ করা হয়েছে এবং কিছু প্যাকেজ প্রাইভেট সদস্য internal হয়ে গেছে। সঠিক পরিবর্তনগুলির একটি তালিকা নীচে 1.3.x-এর জন্য ছোটখাটো রিলিজ নোটে উপলব্ধ।
  • কোটলিন মাইগ্রেশনের সাথে সাথে, collection-ktx মূল সংগ্রহের আর্টিফ্যাক্টের সাথে একীভূত করা হয়েছে। collection:collection-ktx collection:collection collection-ktx এর উপর নির্ভরশীলতা নিরাপদে বাদ দিতে পারেন।

সংস্করণ 1.3.0-rc01

৬ সেপ্টেম্বর, ২০২৩

androidx.collection:collection-*:1.3.0-rc01 কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 1.3.0-rc01-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.3.0-beta01

৯ আগস্ট, ২০২৩

androidx.collection:collection-*:1.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta01-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.3.0-alpha04

২৪ মার্চ, ২০২৩

androidx.collection:collection-*:1.3.0-alpha04 প্রকাশিত হয়েছে।

বাগ ফিক্স

  • কোটলিন নেটিভ টার্গেটস ( b/274786186 , KT-57531 ) -এ একটি বিল্ড সমস্যা সমাধানের জন্য Maven আর্টিফ্যাক্ট থেকে নির্ভরতা সীমাবদ্ধতা অপসারণ করা হয়েছে।

সংস্করণ 1.3.0-alpha03

২২ মার্চ, ২০২৩

androidx.collection:collection-*:1.3.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha03-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • আপনি এখন KMM প্রোজেক্টে Collections ব্যবহার করতে পারবেন। মনে রাখবেন যে Collections-এর নন-অ্যান্ড্রয়েড টার্গেটগুলি এখনও পরীক্ষামূলক, তবে ডেভেলপারদের জন্য সেগুলি ব্যবহার করা সহজ করার জন্য আমরা সংস্করণগুলিকে একত্রিত করার সিদ্ধান্ত নিয়েছি।

API পরিবর্তনগুলি

  • toArray ( I1ac32 ) এর মেমোরি দক্ষ বাস্তবায়নের জন্য ArraySet এখন AbstractMutableCollection এর পরিবর্তে MutableCollections প্রয়োগ করে।

বাগ ফিক্স

  • ArraySet.toArray এখন শুধুমাত্র JVM-এ উপলব্ধ কারণ এটি সর্বদা শুধুমাত্র জাভার সাথে সামঞ্জস্যের জন্য অন্তর্ভুক্ত ছিল। Kotlin ব্যবহারকারীদের সাধারণত stdlib-এর .toTypedArray হেল্পার ব্যবহার করা উচিত, যা অতিরিক্ত টাইপ সুরক্ষার সাথে ঠিক একই কার্যকারিতা প্রদান করে। ( I2c59b )

সংস্করণ 1.3.0-alpha02

২৭ জুলাই, ২০২২

androidx.collection:collection:1.3.0-alpha02 এবং androidx.collection:collection-ktx:1.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • SparseArrayCompat এখন সাধারণ আর্টিফ্যাক্ট ( Ic9bd0 , b/219589118 , b/228347315 ) থেকে নন-jvm প্ল্যাটফর্মগুলিতে উপলব্ধ।
  • CircularIntArray এখন সাধারণ আর্টিফ্যাক্ট ( I3d8ef , b/228344943 ) থেকে নন-jvm প্ল্যাটফর্মগুলিতে উপলব্ধ।
  • LongSparseArray এখন সাধারণ আর্টিফ্যাক্ট ( I73149 , b/228347315 ) থেকে নন-jvm প্ল্যাটফর্মগুলিতে উপলব্ধ।

সংস্করণ 1.3.0-alpha01

২৯ জুন, ২০২২

androidx.collection:collection:1.3.0-alpha01 এবং androidx.collection:collection-ktx:1.3.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • collection-ktx এক্সটেনশনগুলি মূল কালেকশন আর্টিফ্যাক্ট, androidx.collection:collection এ স্থানান্তরিত করা হয়েছে। এই পরিবর্তনের ফলে কোটলিন ব্যবহারকারীদের জন্য পূর্বে বিদ্যমান -ktx এক্সটেনশনগুলি -ktx নির্ভরতা ছাড়াই অ্যাক্সেসযোগ্য হয়ে ওঠে, একই সাথে বিদ্যমান ব্যবহারকারীদের জন্য সামঞ্জস্য বজায় থাকে। মূল আর্টিফ্যাক্টটি কোটলিনে স্থানান্তরিত হওয়ার পর থেকে এই এক্সটেনশনগুলিকে একটি পৃথক -ktx আর্টিফ্যাক্টে বজায় রাখা আর লাভজনক নয়। ( I6eef2 )

API পরিবর্তনগুলি

  • ArraySet এখন AbstractMutableCollection প্রসারিত করে এবং আর সরাসরি Collection ইন্টারফেস প্রয়োগ করে না। ( 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()
    • কোটলিন থেকে নিম্নলিখিত কলগুলি আর সম্ভব নয়:
      • set.toArray() - set.toTypedArray() ব্যবহার করুন
      • set.toArray(array) - set.forEachIndexed(array::set) ব্যবহার করুন
  • কোটলিন ব্যবহারকারীদের জন্য ঐচ্ছিক আর্গুমেন্ট হিসেবে SparseArrayCompat জন্য ওভারলোডেড কনস্ট্রাক্টর একত্রিত করুন। ( If8407 , b/227474719 )
  • SparseArrayCompat.get(key, defaultValue). মনে রাখবেন এটি এখনও .get(key) এর জন্য অপারেটর সিনট্যাক্সকে অনুমতি দেয়, তবে এই লাইব্রেরির অন্যান্য ক্লাসের সাথে SparseArrayCompat এর API পৃষ্ঠকে আরও ভালভাবে সারিবদ্ধ করে। ( I9a38d )
  • LongSparseArray এক্সটেনশনগুলিকে প্রধান আর্টিফ্যাক্ট, androidx.collection:collection-এ স্থানান্তর করুন। এই পরিবর্তনের ফলে Kotlin ব্যবহারকারীদের জন্য পূর্বে বিদ্যমান -ktx এক্সটেনশনগুলি -ktx নির্ভরতা ছাড়াই অ্যাক্সেসযোগ্য হয়ে ওঠে, একই সাথে বিদ্যমান ব্যবহারকারীদের জন্য সামঞ্জস্য বজায় থাকে। মূল আর্টিফ্যাক্টটি Kotlin-এ স্থানান্তরিত হওয়ার কারণে এই এক্সটেনশনগুলিকে একটি পৃথক -ktx আর্টিফ্যাক্টে বজায় রাখা আর লাভজনক নয়। ( I8659a )
  • LongSparseArray কে Kotlin এ রূপান্তর করুন। এই পরিবর্তনটি এর প্রকারগুলিতে স্পষ্ট শূন্যতা যোগ করে, যা একটি বাইনারি সামঞ্জস্যপূর্ণ পরিবর্তন, তবে উৎসের অসঙ্গতি সৃষ্টি করতে পারে। বিশেষ করে: * .isEmpty আর একটি সম্পত্তি হিসাবে অ্যাক্সেসযোগ্য নয়, এটি Kotlin - .isEmpty() ( Idfd0f ) এ একটি ফাংশন কল হিসাবে অ্যাক্সেস করতে হবে।
  • SimpleArrayMap কে Kotlin এ রূপান্তর করুন। জাভা-কোটলিন ইন্টারঅপ এবং উৎসে টাইপের শূন্যতা সঠিকভাবে সংজ্ঞায়িত করার ক্ষমতার ফলে এই পরিবর্তনটি কিছু অসঙ্গত পরিবর্তন আনে।
    • প্যাকেজ প্রাইভেট API গুলি, .mSize , .mArray , .mHashes , .indexOf() , .indexOfNull() , এবং .indexOfValue() , ব্যক্তিগত করা হয়েছিল - এটি প্রযুক্তিগতভাবে একটি বাইনারি অসঙ্গতিপূর্ণ পরিবর্তন, তবে এই ক্ষেত্রগুলির উদ্দেশ্যপ্রণোদিত দৃশ্যমানতা প্রতিফলিত করে এবং কোটলিনে আমরা অর্জন করতে পারি এমন সবচেয়ে কাছাকাছি কারণ এতে প্যাকেজ-প্রাইভেট দৃশ্যমানতা নির্দিষ্ট করার কোনও উপায় অন্তর্ভুক্ত নেই।
    • কিছু ধরণের শূন্যতা এখন সঠিকভাবে সংজ্ঞায়িত করা হয়েছে, প্রভাবিত পদ্ধতিগুলি হল: .getOrDefault , .keyAt , .valueAt , .setValueAt , .put , .putIfAbsent , .removeAt , .replace .
    • কোটলিন ব্যবহারকারীদের জন্য, .isEmpty() এখন শুধুমাত্র একটি ফাংশন হিসেবে উপলব্ধ, সম্পত্তি অ্যাক্সেসের মাধ্যমেও নয়। ( I271b7 , b/182813986 )
  • CircularArray কে Kotlin এ রূপান্তর করুন। উল্লেখযোগ্য পরিবর্তন:

    • এর জেনেরিকের শূন্যতাকে অ-নাল হিসেবে সংশোধন করে, যা আগে ঘোষণা করা অসম্ভব ছিল, কিন্তু এর সমস্ত পাবলিক API-তে প্রয়োগ করা হয়েছিল।
    • কোটলিনের জাভা ইন্টারঅপের কারণে, পূর্বে নির্দিষ্ট পদ্ধতিগুলিকে বৈশিষ্ট্য বা ফাংশন উভয় হিসাবে অ্যাক্সেস করা সম্ভব ছিল। তবে, বাইনারি সামঞ্জস্য বজায় রেখে ডুপ্লিকেশন কমাতে, এগুলি অপসারণ করা প্রয়োজন ছিল, যা একটি উৎস-অসঙ্গত পরিবর্তন। প্রভাবিত কলগুলি হল: .isEmpty , .getLast() এবং .getFirst() । ( Iffac )
  • CircularIntArray কে Kotlin এ রূপান্তর করুন। Kotlin এর Java interop এর কারণে, পূর্বে নির্দিষ্ট কিছু পদ্ধতিতে বৈশিষ্ট্য বা ফাংশন উভয়ই অ্যাক্সেস করা সম্ভব ছিল। তবে, বাইনারি সামঞ্জস্য বজায় রেখে ডুপ্লিকেশন কমাতে, এগুলি অপসারণ করা প্রয়োজন ছিল, যা একটি উৎস-অসঙ্গতিপূর্ণ পরিবর্তন। প্রভাবিত কলগুলি হল: .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

১ ডিসেম্বর, ২০২১

androidx.collection:collection:1.2.0 এবং androidx.collection:collection-ktx:1.2.0 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-এ এই কমিটগুলি রয়েছে।

১.১.০ থেকে গুরুত্বপূর্ণ পরিবর্তনগুলি

  • ArraySet এ একটি অ্যারে কনস্ট্রাক্টর যোগ করুন। ( Id7f19 )
  • entrySet() API-সম্মতি তৈরি করুন entrySet().toArray() , remove() , removeAll() , এবং retainAll() প্রয়োগ করে এবং entrySet().addAll() ( I5d505 ) বাস্তবায়ন অপসারণ করে।

সংস্করণ 1.2.0-rc01

১৭ নভেম্বর, ২০২১

androidx.collection:collection:1.2.0-rc01 এবং androidx.collection:collection-ktx:1.2.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • পূর্ববর্তী বিটা থেকে কোনও পরিবর্তন নেই।

সংস্করণ 1.2.0-beta01

১৩ অক্টোবর, ২০২১

androidx.collection:collection:1.2.0-beta01 এবং androidx.collection:collection-ktx:1.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • entrySet() API-সম্মতি তৈরি করুন entrySet().toArray() , remove() , removeAll() , এবং retainAll() প্রয়োগ করে এবং entrySet().addAll() ( I5d505 ) বাস্তবায়ন অপসারণ করে।

সংস্করণ 1.2.0-alpha01

১৬ ডিসেম্বর, ২০২০

androidx.collection:collection:1.2.0-alpha01 এবং androidx.collection:collection-ktx:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • ArraySet এ একটি অ্যারে কনস্ট্রাক্টর যোগ করুন। ( Id7f19 )

সংস্করণ 1.1.0

সংস্করণ 1.1.0

৫ জুন, ২০১৯

androidx.collection:collection:1.1.0 এবং androidx.collection:collection-ktx:1.1.0 প্রকাশিত হয়েছে। 1.1.0 অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

নিচে ১.০.০ থেকে ১.১.০ পর্যন্ত পরিবর্তনগুলির সারসংক্ষেপ দেওয়া হল:

নতুন বৈশিষ্ট্য

  • 'collection-ktx' আর্টিফ্যাক্টে contains এবং isNotEmpty ফাংশনের জন্য আরও দক্ষ বাস্তবায়ন ব্যবহার করুন। ( aosp/866529 )

API পরিবর্তনগুলি

  • LongSparseArray , SimpleArrayMap , এবং SparseArrayCompat ( aosp/772608 ) তে putIfAbsent যোগ করুন।
  • SimpleArrayMapgetOrDefault যোগ করুন ( aosp/772607 )
  • LongSparseArray , SimpleArrayMap , এবং SparseArrayCompat এ দুই-আর্গুমেন্ট remove যোগ করুন। এই কার্যকারিতার জন্য সংশ্লিষ্ট KTX এক্সটেনশনগুলিকে অবমূল্যায়ন করুন। ( aosp/772482 )
  • LongSparseArray , SimpleArrayMap , এবং SparseArrayCompat ( aosp/772483 ) তে দুই-আর্গুমেন্ট replace যোগ করুন।
  • LongSparseArray , SimpleArrayMap , এবং SparseArrayCompat ( aosp/772484 ) তে তিন-আর্গুমেন্ট replace যোগ করুন।
  • রিডানড্যান্ট delete পদ্ধতিগুলিকে অবহেলা করুন। remove পদ্ধতিটি একই API এবং কার্যকারিতা প্রদান করে এবং অ-বিশেষায়িত মানচিত্র দ্বারা ব্যবহৃত API এর সাথে মেলে। ( aosp/866053 )

বাগ সংশোধন

  • ArrayMap.class এর পরিবর্তে SimpleArrayMap.class এ SimpleArrayMap এর অভ্যন্তরীণ গ্লোবাল ক্যাশে সিঙ্ক্রোনাইজ করার জন্য SimpleArrayMap পরিবর্তন করুন। এটি নিশ্চিত করে যে আপনি যদি শুধুমাত্র SimpleArrayMap ব্যবহার করেন, তাহলে কোড সঙ্কুচিত করার সরঞ্জামগুলির মাধ্যমে ArrayMap সরানো যেতে পারে। ( aosp/934557 )

সংস্করণ 1.1.0-rc01

৭ মে, ২০১৯

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

৩ এপ্রিল, ২০১৯

androidx.collection:collection:1.1.0-beta01 এবং androidx.collection:collection-ktx:1.1.0-beta01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

API পরিবর্তনগুলি

  • alpha03 রিলিজ নোটে উল্লেখিত পদ্ধতিটির @RestrictTo মান পরিবর্তন করা হয়েছে, যা সরিয়ে ফেলা হয়েছে। এটি কোনও AndroidX লাইব্রেরিতে (বর্তমানে বা ঐতিহাসিকভাবে) অব্যবহৃত ছিল এবং এটি এমন কোনও কার্যকারিতা প্রদান করেনি যা পাবলিক API থেকে অনুপস্থিত ছিল।

বাগ সংশোধন

  • ArrayMap.class এর পরিবর্তে SimpleArrayMap.class এ SimpleArrayMap এর অভ্যন্তরীণ গ্লোবাল ক্যাশে সিঙ্ক্রোনাইজ করার জন্য SimpleArrayMap পরিবর্তন করুন। এটি নিশ্চিত করে যে আপনি যদি শুধুমাত্র SimpleArrayMap ব্যবহার করেন, তাহলে কোড সঙ্কুচিত করার সরঞ্জামগুলির মাধ্যমে ArrayMap সরানো যেতে পারে। ( aosp/934557 )

সংস্করণ 1.1.0-alpha03

১৩ মার্চ, ২০১৯

androidx.collection:collection:1.0.0-alpha03 এবং androidx.collection:collection-ktx:1.0.0-alpha03 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটের সম্পূর্ণ তালিকা এখানে পাওয়া যাবে।

API পরিবর্তনগুলি

  • ArraySet এর পূর্বে @RestrictTo(LIBRARY_GROUP) চিহ্নিত একটি পদ্ধতি @RestrictTo(LIBRARY_GROUP_PREFIX) তে পরিবর্তন করা হয়েছে। এটি অন্যান্য AndroidX লাইব্রেরিগুলির ঐতিহাসিক ব্যবহার সমর্থন করার জন্য যা এখন বিভিন্ন Maven গ্রুপ আইডিতে রয়েছে। এই পদ্ধতিটি হয় সর্বজনীন করা হবে অথবা 1.1.0-alpha04-এ সরানো হবে কারণ অন্যান্য AndroidX লাইব্রেরিগুলি এমন বিশেষ API পাবে না যা অন্যান্য ডেভেলপাররা পায় না।

সংস্করণ 1.1.0-alpha02

৩০ জানুয়ারী, ২০১৯

androidx.collection:collection 1.1.0-alpha02 এবং androidx.collection:collection-ktx 1.1.0-alpha02 প্রকাশিত হয়েছে।

API পরিবর্তনগুলি

  • রিডানড্যান্ট delete পদ্ধতিগুলিকে অবহেলা করুন। remove পদ্ধতিগুলি একই API এবং কার্যকারিতা প্রদান করে এবং অ-বিশেষায়িত মানচিত্র দ্বারা ব্যবহৃত API এর সাথে মেলে। ( aosp/866053 )

সংস্করণ 1.1.0-alpha01

৩ ডিসেম্বর, ২০১৮

API পরিবর্তনগুলি

  • LongSparseArray , SimpleArrayMap , এবং SparseArrayCompat ( aosp/772608 ) তে putIfAbsent যোগ করুন।
  • SimpleArrayMapgetOrDefault যোগ করুন ( aosp/772607 )
  • LongSparseArray , SimpleArrayMap , এবং SparseArrayCompat এ দুই-আর্গুমেন্ট remove যোগ করুন। এই কার্যকারিতার জন্য সংশ্লিষ্ট KTX এক্সটেনশনগুলিকে অবমূল্যায়ন করুন। ( aosp/772482 )
  • LongSparseArray , SimpleArrayMap , এবং SparseArrayCompat ( aosp/772483 ) তে দুই-আর্গুমেন্ট replace যোগ করুন।
  • LongSparseArray , SimpleArrayMap , এবং SparseArrayCompat ( aosp/772484 ) তে তিন-আর্গুমেন্ট replace যোগ করুন।