コレクション

  
小規模な既存のコレクションおよび新しいコレクションのメモリへの影響を軽減します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2025 年 8 月 27 日 1.5.0 - - 1.6.0-alpha01

依存関係の宣言

Collection への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

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

Kotlin

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

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.6

バージョン 1.6.0-alpha01

2025 年 8 月 27 日

androidx.collection:collection-*:1.6.0-alpha01 がリリースされました。バージョン 1.6.0-alpha01 にはこれらの commit が含まれています。

API の変更

  • Kotlin 2.0 でリリースされたプロジェクトを使用するには、KGP 2.0.0 以降が必要です(Idb6b5

バグの修正

  • 以前は、割り当てられた範囲内だが挿入された範囲 0..size -1 の外にあるインデックスが渡されると、SparseArrayCompat は valueAt に対して null を、それ以外に対して keyAt を返していました。ドキュメントに記載されているように、この動作は想定されておらず、有効な入力範囲外でした。この変更により、無効なインデックスが渡されたときに IndexOutOfBounds をスローするように動作が修正されます。(I68453

外部からの協力

Jake Wharton 氏のご協力に感謝いたします。

  • 含まれる要素を制限する際に、切り捨てインジケーターの前に区切り文字を追加し、後に接尾辞を追加することで、joinToString の動作をプラットフォーム コレクションに合わせます。(I1b7e8
  • ScatterSet.hashCode は再帰(セットがそれ自体に追加される)に対する防御を行わなくなりました。これにより、ScatterMapHashSet、プリミティブなスキャッタベースのセット(LongSet)。equals メソッドはすでに再帰の影響を受けやすく、toString はそれを防ぐことに注意してください。どちらの動作も他のコレクションと一致しています。(I9c84a
  • ラムダ インスタンスの作成を回避するため、ScatterSet.retainAll 関数がインライン化されました。(Ifa4b7
  • ScatterSet.hashCode はハッシュ計算で容量を使用しなくなったため、コンテンツが同じで容量が異なる場合でも同じ値が生成されます。(Ic863b
  • ScatterMap.asMap() または ScatterSet.asSet()keysvalues、または entries コレクションのイテレータで next() の前に remove() を呼び出すと、IllegalStateException がスローされるようになりました。これにより、通常のマップとセットの動作と一致します。(I71694

バージョン 1.5

バージョン 1.5.0

2025 年 3 月 12 日

androidx.collection:collection-*:1.5.0 がリリースされました。バージョン 1.5.0 にはこれらの commit が含まれています。

バージョン 1.5.0-rc01

2025 年 2 月 26 日

androidx.collection:collection-*:1.5.0-rc01 がリリースされました。バージョン 1.5.0-rc01 にはこれらの commit が含まれています。

バージョン 1.5.0-beta03

2025 年 1 月 29 日

androidx.collection:collection-*:1.5.0-beta03 がリリースされました。バージョン 1.5.0-beta03 には、これらの commit が含まれています。

バージョン 1.5.0-beta02

2025 年 1 月 15 日

androidx.collection:collection-*:1.5.0-beta02 がリリースされました。バージョン 1.5.0-beta02 にはこれらの commit が含まれています。

バージョン 1.5.0-beta01

2024 年 12 月 11 日

androidx.collection:collection-*:1.5.0-beta01 がリリースされました。バージョン 1.5.0-beta01 にはこれらの commit が含まれています。

API の変更

  • watchosDeviceArm64 KMP ターゲットとターゲット kotlin 1.9 のサポートを追加しました(Icf15db/364652024

バージョン 1.5.0-alpha06

2024 年 11 月 13 日

androidx.collection:collection-*:1.5.0-alpha06 がリリースされました。バージョン 1.5.0-alpha06 にはこれらの commit が含まれています。

バグの修正

  • 多数のアイテムを追加してキーの衝突が繰り返されると SieveCacheOrderedScatterSet で発生するクラッシュを修正しました。(Iaaf3db/375607736
  • コレクション ライブラリに wasm ターゲットを追加します。(I66fe3b/352722444

バージョン 1.5.0-alpha05

2024 年 10 月 30 日

androidx.collection:collection-*:1.5.0-alpha05 がリリースされました。バージョン 1.5.0-alpha05 にはこれらの commit が含まれています。

バージョン 1.5.0-alpha04

2024 年 10 月 16 日

androidx.collection:collection-*:1.5.0-alpha04 がリリースされました。バージョン 1.5.0-alpha04 には、これらの commit が含まれています。

バージョン 1.5.0-alpha03

2024 年 10 月 2 日

androidx.collection:collection-*:1.5.0-alpha03 がリリースされました。バージョン 1.5.0-alpha03 には、これらの commit が含まれています。

API の変更

  • Kotlin バージョンを 1.9 に更新(I1a14c

外部からの協力

  • containscontainsKey に転送します。Jake Wharton 氏に感謝します。(I9362b
  • スカラーに特化したコレクションのコンテナ ビルダーを追加します。Jake Wharton 氏に感謝します。(I13179

バージョン 1.5.0-alpha02

2024 年 9 月 18 日

androidx.collection:collection-*:1.5.0-alpha02 がリリースされました。バージョン 1.5.0-alpha02 には、これらの commit が含まれています。

API の変更

  • watchosDeviceArm64 プラットフォーム ターゲットのサポートを追加します。(I1cc04b/364652024

バージョン 1.5.0-alpha01

2024 年 9 月 4 日

androidx.collection:collection-*:1.5.0-alpha01 がリリースされました。バージョン 1.5.0-alpha01 にはこれらの commit が含まれています。

API の変更

  • OrderedScatterSet は、順序付けされた新しい割り当てなしのコレクションです(Ic4178
  • SieveCache は、ヒット率の特性が向上した LruCache の新しい割り当てなしの代替です。(I50a17
  • IntIntPairFloatFloatPairpackedValue 内部表現を公開しました。(Ifeb75b/331853566
  • リスト コレクションのコンテンツ配列へのアクセスを追加。(I899d5b/333903173
  • 倍精度浮動小数点値用に最適化されたリストのようなデータ構造である DoubleList を追加しました。(Ia10d1b/315127635

バグの修正

  • コレクション ライブラリが Kotlin 1.9 をターゲットに移行します(I0782f
  • 多くのコレクションを最適化して、より効率的にします。(Ic0566

バージョン 1.4

バージョン 1.4.5

2024 年 10 月 30 日

androidx.collection:collection-*:1.4.5 がリリースされました。バージョン 1.4.5 にはこれらの commit が含まれています。

バージョン 1.4.4

2024 年 9 月 18 日

androidx.collection:collection-*:1.4.4 がリリースされました。バージョン 1.4.4 にはこれらのコミットが含まれています。

バグの修正

  • 空のコレクションを並べ替える際の ArrayIndexOutOfBounds の問題を回避しました。(I65245

バージョン 1.4.3

2024 年 8 月 7 日

androidx.collection:collection-*:1.4.3 がリリースされました。バージョン 1.4.3 にはこれらの commit が含まれています。

バグの修正

  • ScatterMapScatterSet、およびそれらのプリミティブ バリアントで発生する可能性のある破損を修正しました。(I38a4ab/352560465
  • パフォーマンスの最適化。特に、次のことを確認します。
    • check()required() の呼び出しを、例外スローをインライン化しないバリアントに置き換えます。これにより、最終的なバイナリ サイズが小さくなり、より重要なこととして、i-cache の負荷が少し軽減されます。
    • コレクションの「scatter」ファミリーの removeDeletedMarkers() を改善しました。新しいバージョンでは、削除されたマーカーを一度に 8 個クリアし、その過程でコストの高い書き込みをスキップします。(Ic0566

バージョン 1.4.2

2024 年 7 月 24 日

androidx.collection:collection-*:1.4.2 がリリースされました。バージョン 1.4.2 にはこれらの commit が含まれています。

新機能

  • Kotlin マルチプラットフォームのターゲット(watchostvoslinuxArm64)を追加しました。(b/352543988

バージョン 1.4.1

2024 年 7 月 10 日

androidx.collection:collection-*:1.4.1 がリリースされました。バージョン 1.4.1 にはこれらの commit が含まれています。

バグの修正

  • サイズ変更時に、削除されたトゥームストーンを Map/Set から削除します。(7a996c5b/345960092

バージョン 1.4.0

2024 年 1 月 24 日

androidx.collection:collection-*:1.4.0 がリリースされました。バージョン 1.4.0 に含まれる commit については、こちらをご覧ください

1.3.0 以降の重要な変更

ボクシングなしでプリミティブを保存するための新しい高効率コレクションが追加されました。

  • MutableScatterMapScatterMap - MutableMap と Map のような API を持つクラス
  • MutableScatterSetScatterSet - MutableSet と Set のような API を持つクラス
  • MutableObjectListObjectList - MutableList とリストのような API を持つクラス

たとえば、整数キーと参照型の値を持つマップは IntObjectMap<T> です。長いキーと浮動小数点値を含むマップは LongFloatMap です。ObjectObjectMapScatterMap/MutableScatterMap でカバーされているため、ObjectObjectMap という名前のバージョンはありません。

バージョン 1.4.0-rc01

2024 年 1 月 10 日

androidx.collection:collection-*:1.4.0-rc01 がリリースされました。変更はありません。バージョン 1.4.0-rc01 に含まれる commit については、こちらをご覧ください。

バージョン 1.4.0-beta02

2023 年 11 月 29 日

androidx.collection:collection-*:1.4.0-beta02 がリリースされました。バージョン 1.4.0-beta02 に含まれる commit については、こちらをご覧ください

新機能

  • FloatFloatPair のパフォーマンスが改善されました(If5537

バグの修正

  • ScatterMap.asMap() イテレータが新しいインスタンスを返すようになりました(I28932b/310365754

バージョン 1.4.0-beta01

2023 年 11 月 15 日

androidx.collection:collection-*:1.4.0-beta01 がリリースされました。バージョン 1.4.0-beta01 に含まれる commit については、こちらをご覧ください

バグの修正

  • ListIteratorObjectList の値を誤って設定し、IndexOutOfBoundsException が原因でクラッシュする可能性がある問題を修正(I3bd8ab/307049391

バージョン 1.4.0-alpha02

2023 年 10 月 18 日

androidx.collection:collection-*:1.4.0-alpha02 がリリースされました。バージョン 1.4.0-alpha02 に含まれる commit については、こちらをご覧ください

API の変更

  • put のオーバーロードを追加しました。これは、FloatFloatMap などのすべてのプリミティブ コレクションで、値が置き換えられたときに以前の値を返します。
  • MutableFloatFloatMap などのプリミティブ コレクションの removeIf メソッドをインラインに変換します。これにより、removeIf のラムダが割り当てられなくなります。

バージョン 1.4.0-alpha01

2023 年 10 月 4 日

androidx.collection:collection-*:1.4.0-alpha01 がリリースされました。バージョン 1.4.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

割り当てオーバーヘッドが少なく、パフォーマンスの高い新しい高効率コレクションが追加されました。

  • MutableScatterMapScatterMap - MutableMap と Map のような API を持つクラス
  • MutableScatterSetScatterSet - MutableSet と Set のような API を持つクラス
  • MutableObjectListObjectList - MutableList とリストのような 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> です。長いキーと浮動小数点値を含むマップは LongFloatMap です。ObjectObjectMapScatterMap/MutableScatterMap でカバーされているため、ObjectObjectMap という名前のバージョンはありません。

バージョン 1.3.0

バージョン 1.3.0

2023 年 10 月 4 日

androidx.collection:collection-*:1.3.0 がリリースされました。バージョン 1.3.0 に含まれる commit については、こちらをご覧ください

1.2.0 以降の重要な変更

  • Kotlin マルチプラットフォーム プロジェクトでコレクションを使用できるようになりました。コレクションの Android 以外のターゲットはまだ試験運用中ですが、デベロッパーが簡単に試せるように、バージョンを統合することにしました。
  • ソースはすべて Kotlin に移行されました。この変更の一環として、多くの API が null 可能性に対して適切に型指定されるようになり、いくつかのパッケージ非公開メンバーが internal になりました。具体的な変更点のリストについては、下記の 1.3.x のマイナー リリースノートをご覧ください。
  • Kotlin の移行に伴い、collection-ktx はメインのコレクション アーティファクトに統合されました。collection-ktx が空になったため、collection:collection-ktx への依存関係を collection:collection に安全に置き換えることができます。

バージョン 1.3.0-rc01

2023 年 9 月 6 日

androidx.collection:collection-*:1.3.0-rc01 がリリースされました。変更はありません。バージョン 1.3.0-rc01 に含まれる commit については、こちらをご覧ください

バージョン 1.3.0-beta01

2023 年 8 月 9 日

androidx.collection:collection-*:1.3.0-beta01 がリリースされました。バージョン 1.3.0-beta01 に含まれる commit については、こちらをご覧ください

バージョン 1.3.0-alpha04

2023 年 3 月 24 日

androidx.collection:collection-*:1.3.0-alpha04 がリリースされました。

バグの修正

  • Kotlin Native ターゲットのビルド問題を回避するため、Maven アーティファクトから依存関係の制約を削除しました(b/274786186KT-57531)。

バージョン 1.3.0-alpha03

2023 年 3 月 22 日

androidx.collection:collection-*:1.3.0-alpha03 がリリースされました。バージョン 1.3.0-alpha03 に含まれる commit については、こちらをご覧ください

新機能

  • KMM プロジェクトでコレクションを使用できるようになりました。コレクションの Android 以外のターゲットはまだ試験運用中ですが、デベロッパーが試しやすいようにバージョンを統合することにしました。

API の変更

  • ArraySetAbstractMutableCollection ではなく MutableCollections を実装するようになり、toArray のメモリ効率の高い実装が可能になりました(I1ac32

バグの修正

  • ArraySet.toArray は、Java との互換性のためだけに常に含まれていたため、JVM でのみ利用できるようになりました。Kotlin ユーザーは通常、stdlib の .toTypedArray ヘルパーを使用する必要があります。これは、同じ機能に加えて型安全性を備えています。(I2c59b

バージョン 1.3.0-alpha02

2022 年 7 月 27 日

androidx.collection:collection:1.3.0-alpha02androidx.collection:collection-ktx:1.3.0-alpha02 がリリースされました。バージョン 1.3.0-alpha02 に含まれる commit については、こちらをご覧ください

API の変更

  • SparseArrayCompat が、共通のアーティファクトから JVM 以外のプラットフォームで利用できるようになりました。(Ic9bd0b/219589118b/228347315
  • CircularIntArray が、共通のアーティファクトから JVM 以外のプラットフォームで利用できるようになりました。(I3d8efb/228344943
  • LongSparseArray が、共通のアーティファクトから JVM 以外のプラットフォームで利用できるようになりました。(I73149b/228347315

バージョン 1.3.0-alpha01

2022 年 6 月 29 日

androidx.collection:collection:1.3.0-alpha01androidx.collection:collection-ktx:1.3.0-alpha01 がリリースされました。バージョン 1.3.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • collection-ktx 拡張機能がメインのコレクション アーティファクト androidx.collection:collection に移行されました。この変更により、既存ユーザーに対する互換性を維持しつつ、-ktx 依存関係を必要とすることなく、Kotlin ユーザーが既存の -ktx 拡張機能にアクセスできるようになります。メイン アーティファクトを Kotlin に移行したため、このような拡張機能を別の -ktx アーティファクトで維持するメリットがなくなりました。(I6eef2

API の変更

  • ArraySetAbstractMutableCollection を拡張し、Collection インターフェースを直接実装しなくなりました。(If6da0b/230860589
  • ArraySet を Kotlin に変換しました。入力が厳密になったため、一部の Kotlin 呼び出しはコンパイルされなくなる場合があります。(Id68c1b/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) を使用します
  • Kotlin ユーザーのオプションの引数として、SparseArrayCompat のオーバーロードされたコンストラクタを結合します。(If8407b/227474719
  • SparseArrayCompat.get(key, defaultValue). の演算子構文を削除しました。引き続き .get(key) の演算子構文を使用できますが、SparseArrayCompat の API サーフェスの方がこのライブラリ内の他のクラスには適しています。(I9a38d
  • LongSparseArray 拡張機能をメインのアーティファクト androidx.collection:collection に移行します。この変更により、既存ユーザーに対する互換性を維持しつつ、-ktx 依存関係を必要とすることなく、Kotlin ユーザーが既存の -ktx 拡張機能にアクセスできるようになります。メイン アーティファクトを Kotlin に移行したため、このような拡張機能を別の -ktx アーティファクトで維持するメリットがなくなりました。(I8659a
  • LongSparseArray を Kotlin に変換します。この変更により、型に明示的な null 可能性が追加されます。これはバイナリ互換の変更ですが、ソースの非互換性が生じる場合があります。具体例: * .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() はプロパティ アクセスではなく、関数としてのみ使用できるようになりました。(I271b7b/182813986
  • CircularArray を Kotlin に変換します。主な変更点:

    • ジェネリックの null 可能性を null 以外に修正しました。これは、以前は宣言できませんでしたが、すべての公開 API に適用されています。
    • Kotlin の Java 相互運用性により、以前はプロパティまたは関数の両方として特定のメソッドにアクセスできました。ただし、バイナリ互換性を維持しながら重複を削減するには、ソース互換性のない変更を削除する必要がありました。影響を受ける呼び出しは、.isEmpty.getLast().getFirst() です。(Ifffac
  • CircularIntArray を Kotlin に変換します。Kotlin の Java 相互運用性により、以前はプロパティまたは関数の両方として特定のメソッドにアクセスできました。ただし、バイナリ互換性を維持しながら重複を削減するには、ソース互換性のない変更を削除する必要がありました。影響を受ける呼び出しは .isEmpty.getLast().getFirst() です。(Ie36ce

  • LruCache を Kotlin に変換します(Ia2f19

  • SparseArrayCompat を Kotlin に変換します。(If6fe8

    SparseArrayCompat.valueAt() に小さな動作変更が追加されました。これにより、size() の境界外であるものの、指定された初期容量内にある初期化されていない呼び出しに対して、誤って null が返されることはなくなりました。

    また、この変更により、以前はなかった一部の型に正しい 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

2021 年 12 月 1 日

androidx.collection:collection:1.2.0androidx.collection:collection-ktx:1.2.0 がリリースされました。バージョン 1.2.0 に含まれる commit については、こちらをご覧ください

1.1.0 以降の重要な変更

  • ArraySet に配列コンストラクタを追加しました。(Id7f19
  • entrySet().toArray()remove()removeAll()retainAll() を実装し、entrySet().addAll() の実装を削除することで、entrySet() を API 準拠にします。(I5d505

バージョン 1.2.0-rc01

2021 年 11 月 17 日

androidx.collection:collection:1.2.0-rc01androidx.collection:collection-ktx:1.2.0-rc01 がリリースされました。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください

API の変更

  • 以前のベータ版からの変更はありません

バージョン 1.2.0-beta01

2021 年 10 月 13 日

androidx.collection:collection:1.2.0-beta01androidx.collection:collection-ktx:1.2.0-beta01 がリリースされました。バージョン 1.2.0-beta01 に含まれる commit については、こちらをご覧ください

バグの修正

  • entrySet().toArray()remove()removeAll()retainAll() を実装し、entrySet().addAll() の実装を削除することで、entrySet() を API 準拠にします(I5d505

バージョン 1.2.0-alpha01

2020 年 12 月 16 日

androidx.collection:collection:1.2.0-alpha01androidx.collection:collection-ktx:1.2.0-alpha01 がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください

API の変更

  • ArraySet に配列コンストラクタを追加しました。(Id7f19

バージョン 1.1.0

バージョン 1.1.0

2019 年 6 月 5 日

androidx.collection:collection:1.1.0androidx.collection:collection-ktx:1.1.0 がリリースされました。1.1.0 に含まれる commit については、こちらをご覧ください。

以下に、1.0.0 から 1.1.0 への変更の概要を示します。

新機能

  • 「collection-ktx」アーティファクトの contains 関数と isNotEmpty 関数に効率の良い実装を使用します(aosp/866529

API の変更

  • putIfAbsentLongSparseArraySimpleArrayMapSparseArrayCompat に追加しました(aosp/772608
  • getOrDefaultSimpleArrayMap に追加しました(aosp/772607
  • 2 つの引数の removeLongSparseArraySimpleArrayMapSparseArrayCompat に追加しました。この機能に対応する KTX 拡張機能のサポートを終了します(aosp/772482
  • 2 つの引数の replaceLongSparseArraySimpleArrayMapSparseArrayCompat に追加しました(aosp/772483
  • 3 つの引数の replaceLongSparseArraySimpleArrayMapSparseArrayCompat に追加しました(aosp/772484
  • 冗長な delete メソッドのサポートを終了します。remove メソッドが同じ API と機能を提供し、専門性の低いマップで使用される API に対応します(aosp/866053

バグの修正

  • ArrayMap.class ではなく SimpleArrayMap.class の配列の内部グローバル キャッシュを同期させるように SimpleArrayMap を変更しました。これにより、SimpleArrayMap だけを使用している場合に、コード圧縮ツールで ArrayMap を削除できます(aosp/934557

バージョン 1.1.0-rc01

2019 年 5 月 7 日

androidx.collection:collection:1.1.0-rc01androidx.collection:collection-ktx:1.1.0-rc01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

新機能

  • 「collection-ktx」アーティファクトの contains 関数と isNotEmpty 関数に効率の良い実装を使用します(aosp/866529

バージョン 1.1.0-beta01

2019 年 4 月 3 日

androidx.collection:collection:1.1.0-beta01androidx.collection:collection-ktx:1.1.0-beta01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

API の変更

  • @RestrictTo 値を変更したと alpha03 リリースノートで述べたメソッドを削除しました。現在に至るまでどの AndroidX ライブラリでも使用されておらず、公開 API にない機能は提供していませんでした。

バグの修正

  • ArrayMap.class ではなく SimpleArrayMap.class の配列の内部グローバル キャッシュを同期させるように SimpleArrayMap を変更しました。これにより、SimpleArrayMap だけを使用している場合に、コード圧縮ツールで ArrayMap を削除できます(aosp/934557

バージョン 1.1.0-alpha03

2019 年 3 月 13 日

androidx.collection:collection:1.0.0-alpha03androidx.collection:collection-ktx:1.0.0-alpha03 がリリースされました。このバージョンに含まれる commit の完全なリストについては、こちらをご覧ください。e

API の変更

  • 以前 @RestrictTo(LIBRARY_GROUP) としてマークされていた ArraySet のメソッドが @RestrictTo(LIBRARY_GROUP_PREFIX) に変更されました。これは、現在は異なる Maven グループ ID にある他の AndroidX ライブラリによる従来どおりの使用をサポートするためです。このメソッドは、1.1.0-alpha04 で公開されるか削除されます。他のデベロッパーが取得しない特別な API を他の AndroidX ライブラリが取得すべきではないためです。

バージョン 1.1.0-alpha02

2019 年 1 月 30 日

androidx.collection:collection 1.1.0-alpha02androidx.collection:collection-ktx 1.1.0-alpha02 がリリースされました。

API の変更

  • 冗長な delete メソッドのサポートを終了します。remove メソッドが同じ API と機能を提供し、専門性の低いマップで使用される API に対応します(aosp/866053

バージョン 1.1.0-alpha01

2018 年 12 月 3 日

API の変更

  • putIfAbsentLongSparseArraySimpleArrayMapSparseArrayCompat に追加しました(aosp/772608
  • getOrDefaultSimpleArrayMap に追加しました(aosp/772607
  • 2 つの引数の removeLongSparseArraySimpleArrayMapSparseArrayCompat に追加しました。この機能に対応する KTX 拡張機能のサポートを終了します(aosp/772482
  • 2 つの引数の replaceLongSparseArraySimpleArrayMapSparseArrayCompat に追加しました(aosp/772483
  • 3 つの引数の replaceLongSparseArraySimpleArrayMapSparseArrayCompat に追加しました(aosp/772484