คอลเล็กชัน

  
ลดการใช้ความทรงจำในคอลเล็กชันที่มีอยู่และคอลเล็กชันใหม่ที่มีขนาดเล็ก
อัปเดตล่าสุด รุ่นที่เสถียร ตัวเลือกถอนการอ้างสิทธิ์ รุ่นเบต้า รุ่นอัลฟ่า
24 กรกฎาคม 2024 1.4.2 - - -

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ในคอลเล็กชัน คุณต้องเพิ่มที่เก็บ Google Maven ไปยัง อ่านที่เก็บ Maven ของ Google เพื่อดูข้อมูลเพิ่มเติม

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle สำหรับ ในแอปหรือโมดูล

ดึงดูด

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

Kotlin

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร Dependency ได้ที่หัวข้อเพิ่มการอ้างอิงของบิลด์

ความคิดเห็น

ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากคุณพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูที่ ปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนที่จะสร้างใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว

สร้างรายการใหม่

ดูเอกสารประกอบเกี่ยวกับเครื่องมือติดตามปัญหา เพื่อดูข้อมูลเพิ่มเติม

เวอร์ชัน 1.4

เวอร์ชัน 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 และ API ที่คล้ายแผนที่
  • MutableScatterSet และ ScatterSet - ชั้นเรียนกับ MutableSet และ API แบบ Set-like
  • MutableObjectList และ ObjectList - ชั้นเรียนกับ MutableList และ API แบบรายการ

ตัวอย่างเช่น แผนที่ที่มีคีย์จำนวนเต็มและค่าประเภทการอ้างอิงคือ 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() จะแสดงอินสแตนซ์ใหม่ (I28932, b/310365754)

เวอร์ชัน 1.4.0-beta01

15 พฤศจิกายน 2023

ปล่อย androidx.collection:collection-*:1.4.0-beta01 แล้ว เวอร์ชัน 1.4.0-beta01 มีการคอมมิตเหล่านี้

แก้ไขข้อบกพร่อง

  • แก้ไขปัญหาสำหรับ ListIterator ที่ตั้งค่าไม่ถูกต้องใน ObjectList ซึ่งอาจทำให้เกิดข้อขัดข้องเนื่องจาก IndexOutOfBoundsException (I3bd8a, b/307049391)

เวอร์ชัน 1.4.0-alpha02

18 ตุลาคม 2023

ปล่อย androidx.collection:collection-*:1.4.0-alpha02 แล้ว เวอร์ชัน 1.4.0-alpha02 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่มโอเวอร์โหลดสำหรับ put ที่ส่งคืนค่าก่อนหน้าเมื่อแทนที่ไปยังคอลเล็กชันดั้งเดิมทั้งหมด เช่น FloatFloatMap
  • แปลงเมธอด removeIf ในคอลเล็กชันพื้นฐาน เช่น MutableFloatFloatMap เป็นแบบแทรกในบรรทัด การดำเนินการนี้จะทำให้ไม่มีการจัดสรร lambda สำหรับ removeIf

เวอร์ชัน 1.4.0-alpha01

4 ตุลาคม 2023

ปล่อย androidx.collection:collection-*:1.4.0-alpha01 แล้ว เวอร์ชัน 1.4.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

มีการเพิ่มคอลเล็กชันใหม่ที่มีประสิทธิภาพสูงซึ่งมีค่าใช้จ่ายในการจัดสรรต่ำและมีประสิทธิภาพสูง ดังนี้

  • MutableScatterMap และ ScatterMap - ชั้นเรียนกับ MutableMap และ API ที่คล้ายแผนที่
  • MutableScatterSet และ ScatterSet - ชั้นเรียนกับ MutableSet และ API แบบ Set-like
  • MutableObjectList และ ObjectList - ชั้นเรียนกับ MutableList และ API แบบรายการ

มีการเพิ่มคอลเล็กชันประสิทธิภาพสูงใหม่ที่มีไว้เพื่อจัดเก็บวัตถุต่างๆ โดยไม่ต้องต่อยมวย:

  • Mutable[Int|Float|Long]List - ชั้นเรียนที่มี API คล้าย MutableList<Int|Float|Long> นอกจากนี้ยังมี [Int|Float|Long]List แบบอ่านอย่างเดียวด้วย เช่น เก็บจำนวนเต็มได้ใน IntList
  • Mutable[Int|Float|Long]Set - ชั้นเรียนที่มี API คล้าย MutableSet<Int|Float|Long> นอกจากนี้ยังมี [Int|Float|Long]Set แบบอ่านอย่างเดียวด้วย ตัวอย่างเช่น เก็บจำนวนเต็มใน IntSet ได้
  • Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map - ชั้นเรียนที่มี API คล้าย 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 Multiplatform ได้แล้ว โปรดทราบว่าเป้าหมายคอลเล็กชันที่ไม่ใช่ Android ยังอยู่ระหว่างการทดสอบ แต่เราได้ตัดสินใจรวมเวอร์ชันต่างๆ เข้าด้วยกันเพื่อให้นักพัฒนาแอปลองใช้ได้ง่ายขึ้น
  • ต้นทางทั้งหมดได้รับการย้ายข้อมูลไปยัง Kotlin แล้ว การเปลี่ยนแปลงนี้ทำให้ API จำนวนมากมีการพิมพ์เป็นค่าว่างอย่างเหมาะสม และสมาชิกแพ็กเกจส่วนตัวจำนวนหนึ่งได้เปลี่ยนเป็น internal ดูรายการการเปลี่ยนแปลงที่แน่นอนได้ในบันทึกประจำรุ่นฉบับย่อยสำหรับเวอร์ชัน 1.3.x ด้านล่าง
  • นอกจากการย้ายข้อมูล Kotlin แล้ว ระบบยังรวม collection-ktx กับอาร์ติแฟกต์คอลเล็กชันหลักด้วย คุณทิ้งทรัพยากร Dependency ใน collection:collection-ktx ได้อย่างปลอดภัย เพื่อใช้ collection:collection แทน เนื่องจากตอนนี้ collection-ktx ว่างเปล่าแล้ว

เวอร์ชัน 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 แล้ว

แก้ไขข้อบกพร่อง

  • นำข้อจำกัดทรัพยากร Dependency ออกจากอาร์ติแฟกต์ Maven เพื่อแก้ปัญหาบิลด์ในเป้าหมายดั้งเดิมของ Kotlin (b/274786186, KT-57531)

เวอร์ชัน 1.3.0-alpha03

22 มีนาคม 2023

ปล่อย androidx.collection:collection-*:1.3.0-alpha03 แล้ว เวอร์ชัน 1.3.0-alpha03 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ขณะนี้คุณสามารถใช้คอลเล็กชันในโปรเจ็กต์ KMM ได้แล้ว โปรดทราบว่าเป้าหมายคอลเล็กชันที่ไม่ใช่ Android ยังอยู่ระหว่างการทดสอบ แต่เราได้ตัดสินใจรวมเวอร์ชันต่างๆ เข้าด้วยกันเพื่อให้นักพัฒนาแอปลองใช้ได้ง่ายขึ้น

การเปลี่ยนแปลง API

  • ตอนนี้ ArraySet จะใช้ MutableCollections แทน AbstractMutableCollection เพื่อให้การใช้งาน toArray (I1ac32) มีประสิทธิภาพหน่วยความจำมากขึ้น

แก้ไขข้อบกพร่อง

  • ขณะนี้ ArraySet.toArray มีให้ใช้งานเฉพาะใน JVM เท่านั้น เนื่องจากจะรวมอยู่ด้วยสำหรับความเข้ากันได้กับ Java เสมอ โดยทั่วไปแล้ว ผู้ใช้ Kotlin ควรใช้ผู้ช่วย .toTypedArray ของ stdlib แทน ซึ่งมีฟังก์ชันการทำงานที่เหมือนกันทุกประการพร้อมด้วยความปลอดภัยประเภทที่เพิ่มขึ้น (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 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • SparseArrayCompat พร้อมให้บริการแก่แพลตฟอร์มที่ไม่ใช่ JVM จากอาร์ติแฟกต์ทั่วไปแล้ว (Ic9bd0, b/219589118, b/228347315)
  • CircularIntArray พร้อมใช้งานจากอาร์ติแฟกต์ทั่วไปในแพลตฟอร์มที่ไม่ใช่ JVM แล้ว (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)

การเปลี่ยนแปลง API

  • ตอนนี้ 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) แต่จะปรับแพลตฟอร์ม API ของ SparseArrayCompat ให้สอดคล้องกับคลาสอื่นๆ ในไลบรารีนี้มากกว่า (I9a38d)
  • ย้ายข้อมูลส่วนขยาย LongSparseArray รายการไปยังอาร์ติแฟกต์หลัก androidx.collection:collection การเปลี่ยนแปลงนี้ช่วยให้ผู้ใช้ Kotlin เข้าถึงส่วนขยาย -ktx ที่มีอยู่แล้วได้โดยไม่ต้องพึ่ง -ktx ขณะที่ยังคงไว้สําหรับผู้ใช้เดิม การรักษาส่วนขยายเหล่านี้ในอาร์ติแฟกต์ -ktx แยกต่างหากไม่มีประโยชน์อีกต่อไปเนื่องจากอาร์ติแฟกต์หลักย้ายไปที่ Kotlin แล้ว (I8659a)
  • แปลง LongSparseArray เป็น Kotlin การเปลี่ยนแปลงนี้จะเพิ่มค่าว่างอย่างชัดเจนในประเภท ซึ่งเป็นการเปลี่ยนแปลงที่เข้ากันได้กับไบนารี แต่อาจทำให้เกิดความไม่เข้ากันของแหล่งที่มา กล่าวคือ * .isEmpty ไม่สามารถเข้าถึงในฐานะพร็อพเพอร์ตี้ได้อีกต่อไป ต้องเข้าถึงเป็นการเรียกใช้ฟังก์ชันใน Kotlin - .isEmpty() (Idfd0f)
  • แปลง SimpleArrayMap เป็น Kotlin การเปลี่ยนแปลงนี้ทำให้เกิดการเปลี่ยนแปลงบางอย่างที่เข้ากันไม่ได้ ซึ่งเป็นผลมาจากการทำงานร่วมกันของ Java-Kotlin และความสามารถในการกำหนด null ของประเภทในซอร์สอย่างถูกต้อง
    • API ส่วนตัวของแพ็กเกจ, .mSize, .mArray, .mHashes, สร้าง .indexOf(), .indexOfNull() และ .indexOfValue() แล้ว ส่วนตัว - ในทางเทคนิค นี่เป็นการเปลี่ยนแปลงที่ไม่สามารถใช้ไบนารี แต่ สะท้อนให้เห็นถึงความมุ่งหมายของช่องเหล่านี้ และอยู่ใกล้ที่สุดที่เรามี ใน Kotlin ได้เนื่องจากไม่มีวิธีระบุ ระดับการเข้าถึงส่วนตัวของแพ็กเกจ
    • ค่า Null ของบางประเภท ได้รับการกำหนดอย่างถูกต้อง เมธอด ได้แก่ .getOrDefault, .keyAt, .valueAt, .setValueAt .put, .putIfAbsent, .removeAt, .replace
    • สำหรับผู้ใช้ Kotlin ขณะนี้ .isEmpty() จะพร้อมใช้งานเป็นฟังก์ชันเท่านั้น ไม่ใช่ ผ่านการเข้าถึงพร็อพเพอร์ตี้ด้วย (I271b7, b/182813986)
  • แปลง CircularArray เป็น Kotlin การเปลี่ยนแปลงสำคัญ

    • แก้ไขค่า Null ใน Commons ให้เป็นค่าที่ไม่เป็น Null ซึ่งก่อนหน้านี้ ประกาศไม่ได้ แต่บังคับใช้ใน API สาธารณะทั้งหมด
    • เนื่องจากการทำงานร่วมกันของ Java ของ Kotlin ก่อนหน้านี้จึงสามารถเข้าถึง เมธอดบางอย่างเป็นทั้งพร็อพเพอร์ตี้หรือฟังก์ชัน แต่หากต้องการลด การทำซ้ำในขณะที่ยังรักษาความเข้ากันได้ของไบนารี เพื่อลบรายการเหล่านี้ ซึ่งเป็นการเปลี่ยนแปลงที่ใช้ไม่ได้กับแหล่งที่มา ที่ได้รับผลกระทบ การโทร ได้แก่ .isEmpty, .getLast() และ .getFirst() (ถ้าฟัก)
  • แปลง CircularIntArray เป็น Kotlin การทำงานร่วมกันของ Java ของ Kotlin ทำให้ก่อนหน้านี้คุณเข้าถึงเมธอดบางอย่างเพื่อใช้เป็นพร็อพเพอร์ตี้หรือฟังก์ชันได้ แต่หากต้องการลดความซ้ำซ้อนขณะที่ยังรักษาความเข้ากันได้ของไบนารี จำเป็นต้องนำโค้ดเหล่านี้ออก ซึ่งเป็นการเปลี่ยนแปลงที่ใช้ร่วมกับแหล่งที่มาไม่ได้ การโทรที่ได้รับผลกระทบคือ .isEmpty, .getLast() และ .getFirst() (Ie36ce)

  • แปลง LruCache เป็น Kotlin (Ia2f19)

  • แปลง SparseArrayCompat เป็น Kotlin (If6fe8)

    มีการเพิ่มการเปลี่ยนแปลงลักษณะการทำงานเล็กน้อยใน SparseArrayCompat.valueAt() จะไม่แสดง null อย่างไม่ถูกต้องสำหรับการเรียกที่ไม่ได้เริ่มต้นจาก ขอบเขต 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 (Id7f19)
  • ทำให้ entrySet() เป็นไปตามข้อกำหนดของ API โดยใช้ 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 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • ไม่มีการเปลี่ยนแปลงจากรุ่นเบต้าก่อนหน้านี้

เวอร์ชัน 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() เป็นไปตามข้อกำหนดของ API โดยใช้ 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 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่มตัวสร้างอาร์เรย์ไปยัง 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

ฟีเจอร์ใหม่

  • ใช้การติดตั้งใช้งานที่มีประสิทธิภาพมากขึ้นสำหรับฟังก์ชัน contains และ isNotEmpty ใน "collection-ktx" อาร์ติแฟกต์ (aosp/866529)

การเปลี่ยนแปลง API

  • เพิ่ม putIfAbsent ไปยัง LongSparseArray, SimpleArrayMap และ SparseArrayCompat (aosp/772608)
  • เพิ่ม getOrDefault ไปยัง SimpleArrayMap (aosp/772607)
  • เพิ่มอาร์กิวเมนต์ 2 รายการ remove ใน LongSparseArray, SimpleArrayMap และ SparseArrayCompat เลิกใช้งานส่วนขยาย KTX ที่เกี่ยวข้องสำหรับฟังก์ชันนี้ (aosp/772482)
  • เพิ่มอาร์กิวเมนต์ 2 รายการ replace ใน LongSparseArray, SimpleArrayMap และ SparseArrayCompat (aosp/772483)
  • เพิ่มอาร์กิวเมนต์ 3 รายการ replace ใน LongSparseArray, SimpleArrayMap และ SparseArrayCompat (aosp/772484)
  • เลิกใช้งานเมธอด delete ที่ซ้ำซ้อน เมธอด remove มี API และฟังก์ชันการทำงานเดียวกัน และตรงกับ API ที่ใช้ใน Maps ที่ไม่เชี่ยวชาญโดยเฉพาะ (aosp/866053)

แก้ไขข้อบกพร่อง

  • เปลี่ยน SimpleArrayMap เพื่อซิงค์ข้อมูลแคชส่วนกลางภายในของอาร์เรย์บน SimpleArrayMap.class แทน ArrayMap.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 แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

ฟีเจอร์ใหม่

  • ใช้การติดตั้งใช้งานที่มีประสิทธิภาพมากขึ้นสำหรับฟังก์ชัน contains และ isNotEmpty ใน "collection-ktx" อาร์ติแฟกต์ (aosp/866529)

เวอร์ชัน 1.1.0-beta01

3 เมษายน 2019

ปล่อย androidx.collection:collection:1.1.0-beta01 และ androidx.collection:collection-ktx:1.1.0-beta01 แล้ว คุณสามารถดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

การเปลี่ยนแปลง API

  • วิธีการที่กล่าวถึงในบันทึกประจำรุ่น alpha03 ว่ามีการเปลี่ยนแปลงค่า @RestrictTo ถูกนำออกแล้ว ไลบรารี AndroidX ไม่ได้ใช้อยู่ (ในตอนนี้หรือในอดีต) และไม่มีฟังก์ชันใดๆ ที่ขาดหายไปจาก API สาธารณะ

แก้ไขข้อบกพร่อง

  • เปลี่ยน SimpleArrayMap เพื่อซิงค์ข้อมูลแคชส่วนกลางภายในของอาร์เรย์บน SimpleArrayMap.class แทน ArrayMap.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 แล้ว ดูรายการคอมมิตทั้งหมดที่รวมอยู่ในเวอร์ชันนี้ได้ ที่นี่

การเปลี่ยนแปลง API

  • วิธีการใน ArraySet ซึ่งก่อนหน้านี้มีการทำเครื่องหมายเป็น @RestrictTo(LIBRARY_GROUP) คือ เปลี่ยนเป็น @RestrictTo(LIBRARY_GROUP_PREFIX) เพื่อรองรับ ใช้โดยไลบรารี AndroidX อื่นๆ ซึ่งตอนนี้อยู่ในรหัสกลุ่ม Maven ต่างๆ ช่วงเวลานี้ จะทำให้เป็นแบบสาธารณะหรือนำออกใน 1.1.0-alpha04 เนื่องจาก ไลบรารี AndroidX ไม่ควรได้รับ API พิเศษที่นักพัฒนาซอฟต์แวร์รายอื่นไม่มี

เวอร์ชัน 1.1.0-alpha02

30 มกราคม 2019

androidx.collection:collection 1.1.0-alpha02 และ ปล่อย androidx.collection:collection-ktx 1.1.0-alpha02 แล้ว

การเปลี่ยนแปลง API

  • เลิกใช้งานเมธอด delete ที่ซ้ำซ้อน เมธอด remove มี API และฟังก์ชันการทำงานเดียวกัน และตรงกับ API ที่ใช้ใน Maps ที่ไม่เชี่ยวชาญโดยเฉพาะ (aosp/866053)

เวอร์ชัน 1.1.0-alpha01

3 ธันวาคม 2018

การเปลี่ยนแปลง API

  • เพิ่ม putIfAbsent ไปยัง LongSparseArray, SimpleArrayMap และ SparseArrayCompat (aosp/772608)
  • เพิ่ม getOrDefault ไปยัง SimpleArrayMap (aosp/772607)
  • เพิ่มอาร์กิวเมนต์ 2 รายการ remove ใน LongSparseArray, SimpleArrayMap และ SparseArrayCompat เลิกใช้งานส่วนขยาย KTX ที่เกี่ยวข้องสำหรับฟังก์ชันนี้ (aosp/772482)
  • เพิ่มอาร์กิวเมนต์ 2 รายการ replace ใน LongSparseArray, SimpleArrayMap และ SparseArrayCompat (aosp/772483)
  • เพิ่มอาร์กิวเมนต์ 3 รายการ replace ใน LongSparseArray, SimpleArrayMap และ SparseArrayCompat (aosp/772484)