컬렉션

  
소규모의 기존 컬렉션 및 새로운 컬렉션이 메모리에 미치는 영향을 줄입니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2024년 12월 11일 1.4.5 - 1.5.0-beta01 -

종속 항목 선언

Collection의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용을 알아보려면 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

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

Kotlin

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

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.5

버전 1.5.0-beta01

2024년 12월 11일

androidx.collection:collection-*:1.5.0-beta01이 출시되었습니다. 버전 1.5.0-beta01에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • watchosDeviceArm64 KMP 타겟 및 타겟 kotlin 1.9 지원을 추가했습니다. (Icf15d, b/364652024)

버전 1.5.0-alpha06

2024년 11월 13일

androidx.collection:collection-*:1.5.0-alpha06이 출시되었습니다. 버전 1.5.0-alpha06에는 이 커밋이 포함되어 있습니다.

버그 수정

  • 여러 항목을 추가할 때 키 충돌이 반복되어 SieveCacheOrderedScatterSet에서 발생할 수 있는 비정상 종료 문제를 수정했습니다. (Iaaf3d, b/375607736)
  • 컬렉션 라이브러리에 wasm 타겟을 추가합니다. (I66fe3, b/352722444)

버전 1.5.0-alpha05

2024년 10월 30일

androidx.collection:collection-*:1.5.0-alpha05이 출시되었습니다. 버전 1.5.0-alpha05에는 이 커밋이 포함되어 있습니다.

버전 1.5.0-alpha04

2024년 10월 16일

androidx.collection:collection-*:1.5.0-alpha04이 출시되었습니다. 버전 1.5.0-alpha04에는 이 커밋이 포함되어 있습니다.

버전 1.5.0-alpha03

2024년 10월 2일

androidx.collection:collection-*:1.5.0-alpha03이 출시되었습니다. 버전 1.5.0-alpha03에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • Kotlin 버전이 1.9 (I1a14c)로 업데이트됨

외부 기여

  • containscontainsKey에 전달합니다. 제이크 와튼님, 감사합니다. (I9362b)
  • 스칼라 전문 컬렉션의 컨테이너 빌더를 추가합니다. 제이크 와튼님, 감사합니다. (I13179)

버전 1.5.0-alpha02

2024년 9월 18일

androidx.collection:collection-*:1.5.0-alpha02이 출시되었습니다. 버전 1.5.0-alpha02에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • watchosDeviceArm64 플랫폼 타겟 지원을 추가합니다. (I1cc04, b/364652024)

버전 1.5.0-alpha01

2024년 9월 4일

androidx.collection:collection-*:1.5.0-alpha01이 출시되었습니다. 버전 1.5.0-alpha01에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • OrderedScatterSet는 새로운 정렬된 할당 없는 컬렉션입니다. (Ic4178)
  • SieveCache는 더 나은 적중률 특성을 제공하는 할당이 필요 없는 LruCache의 새로운 대체 항목입니다. (I50a17)
  • IntIntPairFloatFloatPairpackedValue 내부 표현을 노출했습니다. (Ifeb75, b/331853566)
  • 목록 컬렉션의 콘텐츠 배열에 대한 액세스 권한을 추가합니다. (I899d5, b/333903173)
  • Double 값에 최적화된 목록과 유사한 데이터 구조인 DoubleList를 추가합니다. (Ia10d1, b/315127635)

버그 수정

  • 컬렉션 라이브러리가 Kotlin 1.9 타겟팅으로 이동합니다. (I0782f)
  • 더 효율적으로 작동하도록 여러 컬렉션을 최적화합니다. (Ic0566)

버전 1.4

버전 1.4.5

2024년 10월 30일

androidx.collection:collection-*:1.4.5이 출시되었습니다. 버전 1.4.5에는 이 커밋이 포함되어 있습니다.

버전 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에는 이 커밋이 포함되어 있습니다.

버그 수정

  • ScatterMap, ScatterSet, 그리고 이들의 원시 변형에서 발생할 수 있는 손상을 수정했습니다. (I38a4a, b/352560465)
  • 성능 최적화 특히 다음을 확인합니다.
    • check()required() 호출을 예외 발생을 인라인 처리하지 않는 변형으로 바꿉니다. 이렇게 하면 최종 바이너리 크기가 줄어들고, 더 중요한 것은 i-cache 압력이 약간 완화됩니다.
    • 'scatter' 컬렉션 계열의 removeDeletedMarkers()를 개선했습니다. 새 버전은 한 번에 8개의 삭제된 마커를 지우고 이 과정에서 더 비용이 많이 드는 쓰기를 건너뜁니다. (Ic0566)

버전 1.4.2

2024년 7월 24일

androidx.collection:collection-*:1.4.2이 출시되었습니다. 버전 1.4.2에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • 추가 Kotlin 멀티플랫폼 타겟(watchos, tvos, linuxArm64)을 포함합니다. (b/352543988)

버전 1.4.1

2024년 7월 10일

androidx.collection:collection-*:1.4.1이 출시되었습니다. 버전 1.4.1에는 이 커밋이 포함되어 있습니다.

버그 수정

  • 크기를 조절할 때 지도/세트에서 삭제된 삭제 표시를 삭제합니다. (7a996c5, b/345960092)

버전 1.4.0

2024년 1월 24일

androidx.collection:collection-*:1.4.0이 출시되었습니다. 버전 1.4.0에 포함된 커밋을 확인하세요.

1.3.0 이후 중요 변경사항

박싱 없이 프리미티브를 저장하기 위한 새로운 고효율 컬렉션이 추가되었습니다.

  • MutableScatterMapScatterMap - MutableMap 및 지도와 유사한 API가 있는 클래스
  • MutableScatterSetScatterSet - MutableSet 및 세트와 유사한 API가 있는 클래스
  • MutableObjectListObjectList - MutableList 및 목록과 유사한 API가 있는 클래스

예를 들어 정수 키와 참조 유형 값이 있는 맵은 IntObjectMap<T>입니다. 긴 키와 부동 소수점 값이 있는 맵은 LongFloatMap입니다. ObjectObjectMap 이름의 버전은 없습니다. ScatterMap/MutableScatterMap에 포함되어 있기 때문입니다.

버전 1.4.0-rc01

2024년 1월 10일

androidx.collection:collection-*:1.4.0-rc01은 변경사항 없이 출시되었습니다. 버전 1.4.0-rc01에 포함된 커밋을 확인하세요.

버전 1.4.0-beta02

2023년 11월 29일

androidx.collection:collection-*:1.4.0-beta02이 출시되었습니다. 버전 1.4.0-beta02에 포함된 커밋을 확인하세요.

새로운 기능

  • FloatFloatPair의 성능을 개선했습니다. (If5537)

버그 수정

  • 이제 ScatterMap.asMap() 반복자가 새 인스턴스를 반환합니다. (I28932, b/310365754)

버전 1.4.0-beta01

2023년 11월 15일

androidx.collection:collection-*:1.4.0-beta01이 출시되었습니다. 버전 1.4.0-beta01에 포함된 커밋을 확인하세요.

버그 수정

  • ListIteratorObjectList에서 값을 잘못 설정하여 IndexOutOfBoundsException로 인해 비정상 종료가 발생할 수 있는 문제를 수정했습니다. (I3bd8a, b/307049391)

버전 1.4.0-alpha02

2023년 10월 18일

androidx.collection:collection-*:1.4.0-alpha02이 출시되었습니다. 버전 1.4.0-alpha02에 포함된 커밋을 확인하세요.

API 변경사항

  • FloatFloatMap와 같은 모든 기본 컬렉션으로 대체될 때 이전 값을 반환하는 put 오버로드를 추가했습니다.
  • MutableFloatFloatMap와 같은 기본 컬렉션의 removeIf 메서드를 인라인으로 변환합니다. 이렇게 하면 removeIf의 람다가 할당되지 않습니다.

버전 1.4.0-alpha01

2023년 10월 4일

androidx.collection:collection-*:1.4.0-alpha01이 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

할당 오버헤드가 낮고 성능이 우수한 새로운 고효율 컬렉션이 추가되었습니다.

  • MutableScatterMapScatterMap - MutableMap 및 지도와 유사한 API가 있는 클래스
  • MutableScatterSetScatterSet - MutableSet 및 세트와 유사한 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입니다. ObjectObjectMap 이름의 버전은 없습니다. ScatterMap/MutableScatterMap에 포함되어 있기 때문입니다.

버전 1.3.0

버전 1.3.0

2023년 10월 4일

androidx.collection:collection-*:1.3.0이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.

1.2.0 이후 중요 변경사항

  • 이제 Kotlin 멀티플랫폼 프로젝트에서 컬렉션을 사용할 수 있습니다. 컬렉션의 Android 이외 타겟은 아직 실험용이지만 개발자가 더 쉽게 사용해 볼 수 있도록 버전을 병합하기로 결정했습니다.
  • 모든 소스가 Kotlin으로 이전되었습니다. 이 변경의 일환으로 이제 많은 API가 nullity에 대해 올바르게 유형화되고 일부 비공개 패키지 멤버가 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에 포함된 커밋을 확인하세요.

버전 1.3.0-beta01

2023년 8월 9일

androidx.collection:collection-*:1.3.0-beta01이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.

버전 1.3.0-alpha04

2023년 3월 24일

androidx.collection:collection-*:1.3.0-alpha04이 출시되었습니다.

버그 수정

  • Kotlin 네이티브 타겟의 빌드 문제를 해결하기 위해 Maven 아티팩트에서 종속 항목 제약 조건을 삭제했습니다. (b/274786186, KT-57531)

버전 1.3.0-alpha03

2023년 3월 22일

androidx.collection:collection-*:1.3.0-alpha03이 출시되었습니다. 버전 1.3.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 KMM 프로젝트에서 컬렉션을 사용할 수 있습니다. 컬렉션의 Android 이외 타겟은 아직 실험용이지만 개발자가 더 쉽게 사용해 볼 수 있도록 버전을 병합하기로 결정했습니다.

API 변경사항

  • 이제 ArraySet에서 toArray를 더 메모리 효율적으로 구현할 수 있도록 AbstractMutableCollection 대신 MutableCollections를 구현합니다. (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에 포함된 커밋을 확인하세요.

API 변경사항

  • 이제 일반 아티팩트의 jvm 외의 플랫폼에서 SparseArrayCompat를 사용할 수 있습니다(Ic9bd0, b/219589118, b/228347315).
  • 이제 일반 아티팩트의 jvm 외의 플랫폼에서 CircularIntArray를 사용할 수 있습니다(I3d8ef, b/228344943).
  • 이제 일반 아티팩트의 jvm 외의 플랫폼에서 LongSparseArray를 사용할 수 있습니다(I73149, b/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에 포함된 커밋을 확인하세요.

새로운 기능

  • collection-ktx 확장 프로그램을 기본 컬렉션 아티팩트 androidx.collection:collection으로 이전했습니다. 이 변경사항으로 인해 기존 사용자의 호환성을 계속 유지하면서 -ktx 종속 항목 없이도 Kotlin 사용자가 기존 -ktx 확장 프로그램에 액세스할 수 있습니다. 이러한 확장 프로그램을 별도의 -ktx 아티팩트로 유지하는 것은 더 이상 유용하지 않습니다. 주요 아티팩트가 Kotlin으로 이동했기 때문입니다(I6eef2).

API 변경사항

  • 이제 ArraySetAbstractMutableCollection을 확장하며 더 이상 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()
    • 다음 호출은 Kotlin에서 더 이상 실행할 수 없습니다.
      • set.toArray() - set.toTypedArray()를 사용합니다.
      • set.toArray(array) - set.forEachIndexed(array::set)를 사용합니다.
  • SparseArrayCompat의 오버로드된 생성자를 Kotlin 사용자의 선택적 인수로 결합합니다(If8407, b/227474719).
  • SparseArrayCompat.get(key, defaultValue).의 연산자 문법을 삭제합니다. 이는 여전히 .get(key)의 연산자 문법을 허용하지만 SparseArrayCompat의 API 노출 영역을 이 라이브러리의 다른 클래스와 더 정확히 정렬합니다(I9a38d).
  • LongSparseArray 확장 프로그램을 기본 아티팩트 androidx.collection:collection으로 이전합니다. 이 변경사항으로 인해 기존 사용자의 호환성을 계속 유지하면서 -ktx 종속 항목 없이도 Kotlin 사용자가 기존 -ktx 확장 프로그램에 액세스할 수 있습니다. 이러한 확장 프로그램을 별도의 -ktx 아티팩트로 유지하는 것은 더 이상 유용하지 않습니다. 주요 아티팩트가 Kotlin으로 이동했기 때문입니다(I8659a).
  • LongSparseArray를 Kotlin으로 변환합니다. 이 변경사항으로 인해 유형에 명시적 nullity가 추가되며 이는 바이너리 호환 변경이지만 소스 비호환성을 유발할 수 있습니다. 특히 * .isEmpty는 더 이상 속성으로 액세스할 수 없으며 Kotlin의 함수 호출 .isEmpty()로 액세스해야 합니다(Idfd0f).
  • SimpleArrayMap을 Kotlin으로 변환합니다. 이 변경사항으로 인해 몇 가지 호환되지 않는 변경사항이 발생합니다. 자바-Kotlin 상호 운용성과 소스에서 유형의 nullity를 올바르게 정의하는 기능 때문입니다.
    • 패키지 비공개 API .mSize, .mArray, .mHashes, .indexOf(), .indexOfNull(), .indexOfValue()를 비공개로 설정했습니다. 이는 기술적으로 바이너리 비호환 변경이지만 이러한 필드의 의도된 가시성을 반영하며 Kotlin에서 달성할 수 있는 가장 가까운 부분입니다. 패키지 비공개 가시성을 지정하는 방법이 포함되어 있지 않기 때문입니다.
    • 이제 일부 유형의 nullity가 올바르게 정의되었습니다. 영향을 받는 메서드는 다음과 같습니다. .getOrDefault, .keyAt, .valueAt, .setValueAt, .put, .putIfAbsent, .removeAt, .replace
    • Kotlin 사용자의 경우 이제 .isEmpty()는 속성 액세스를 통해서가 아니라 함수로만 사용할 수 있습니다(I271b7, b/182813986).
  • CircularArray를 Kotlin으로 변환합니다. 주요 변경사항은 다음과 같습니다.

    • 제네릭의 nullity가 null이 아닌 것이 되도록 수정합니다. 이는 이전에는 선언할 수 없었지만 모든 공개 API에서 시행되었습니다.
    • Kotlin의 자바 상호 운용성으로 인해 이전에는 속성이나 함수로 특정 메서드에 액세스할 수 있었습니다. 그러나 바이너리 호환성을 유지하면서 중복을 줄이기 위해 소스와 호환되지 않는 변경사항을 삭제해야 했습니다. 영향을 받는 호출은 .isEmpty, .getLast(), .getFirst()입니다. (Ifffac)
  • CircularIntArray를 Kotlin으로 변환합니다. Kotlin의 자바 상호 운용성으로 인해 이전에는 속성이나 함수로 특정 메서드에 액세스할 수 있었습니다. 그러나 바이너리 호환성을 유지하면서 중복을 줄이기 위해 소스와 호환되지 않는 변경사항을 삭제해야 했습니다. 영향을 받는 호출은 .isEmpty, .getLast(), .getFirst()입니다. (Ie36ce)

  • LruCache를 Kotlin으로 변환합니다. (Ia2f19)

  • SparseArrayCompat를 Kotlin으로 변환합니다(If6fe8).

    작은 동작 변경사항이 SparseArrayCompat.valueAt()에 추가되어 size() 경계 밖에서 그러나 제공된 초기 용량 내에서 초기화되지 않은 호출에 관해 더 이상 잘못 null을 반환하지 않습니다

    이 변경으로 인해, 이전에 누락되었던 일부 유형의 올바른 nullity도 도입되었습니다.

    • .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에 포함된 커밋을 확인하세요.

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에 포함된 커밋을 확인하세요.

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에 포함된 커밋을 확인하세요.

버그 수정

  • 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에 포함된 커밋을 확인하세요.

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에 포함된 커밋은 여기에서 확인할 수 있습니다.

다음은 1.0.0에서 1.1.0으로 변경된 사항을 요약한 내용입니다.

새로운 기능

  • 'collection-ktx' 아티팩트의 containsisNotEmpty 함수에서 더 효율적인 구현을 사용합니다. (aosp/866529)

API 변경사항

  • LongSparseArray, SimpleArrayMap, SparseArrayCompatputIfAbsent를 추가합니다. (aosp/772608)
  • SimpleArrayMapgetOrDefault를 추가합니다. (aosp/772607)
  • LongSparseArray, SimpleArrayMap, SparseArrayCompat에 2인수 remove를 추가합니다. 이 기능에 상응하는 KTX 확장 프로그램을 지원 중단합니다. (aosp/772482)
  • LongSparseArray, SimpleArrayMap, SparseArrayCompat에 2인수 replace를 추가합니다. (aosp/772483)
  • LongSparseArray, SimpleArrayMap, SparseArrayCompat에 3인수 replace를 추가합니다. (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이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

  • 'collection-ktx' 아티팩트의 containsisNotEmpty 함수에서 더 효율적인 구현을 사용합니다. (aosp/866529)

버전 1.1.0-beta01

2019년 4월 3일

androidx.collection:collection:1.1.0-beta01androidx.collection:collection-ktx:1.1.0-beta01이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

API 변경사항

  • alpha03 출시 노트@RestrictTo 값이 변경된 것으로 설명된 메서드가 삭제되었습니다. 이 메서드는 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이 출시되었습니다. 이 버전에 포함된 커밋의 전체 목록은 여기에서 확인할 수 있습니다.

API 변경사항

  • 이전에 @RestrictTo(LIBRARY_GROUP)로 표시되던 ArraySet의 메서드가 @RestrictTo(LIBRARY_GROUP_PREFIX)로 변경되었습니다. 이는 이제 다른 Maven 그룹 ID에 있는 다른 AndroidX 라이브러리의 방문 기록 사용을 지원하기 위한 것입니다. 다른 AndroidX 라이브러리에서 다른 개발자가 가져오지 않는 특수 API를 가져오면 안 되므로 이 메서드는 1.1.0-alpha04에서 공개되거나 삭제됩니다.

버전 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 변경사항

  • LongSparseArray, SimpleArrayMap, SparseArrayCompatputIfAbsent를 추가합니다. (aosp/772608)
  • SimpleArrayMapgetOrDefault를 추가합니다. (aosp/772607)
  • LongSparseArray, SimpleArrayMap, SparseArrayCompat에 2인수 remove를 추가합니다. 이 기능에 상응하는 KTX 확장 프로그램을 지원 중단합니다. (aosp/772482)
  • LongSparseArray, SimpleArrayMap, SparseArrayCompat에 2인수 replace를 추가합니다. (aosp/772483)
  • LongSparseArray, SimpleArrayMap, SparseArrayCompat에 3인수 replace를 추가합니다. (aosp/772484)