SparseArray 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SparseArray
는 정수와 개체를 매핑하며, 일반 개체 배열과 달리 인덱스에 간격이 포함될 수 있습니다.
[Android.Runtime.Register("android/util/SparseArray", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class SparseArray : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.ICloneable
[<Android.Runtime.Register("android/util/SparseArray", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type SparseArray = class
inherit Object
interface ICloneable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 상속
- 파생
- 특성
- 구현
설명
SparseArray
는 정수와 개체를 매핑하며, 일반 개체 배열과 달리 인덱스에 간격이 포함될 수 있습니다. SparseArray
는 c>HashMap</c>보다 <메모리 효율적입니다. 자동 boxing 키를 방지하고 데이터 구조가 각 매핑에 대해 추가 항목 개체를 사용하지 않기 때문입니다.
이 컨테이너는 이진 검색을 사용하여 키를 찾는 배열 데이터 구조에 매핑을 유지합니다. 구현은 많은 수의 항목을 포함할 수 있는 데이터 구조에 적합하지 않습니다. 조회에는 이진 검색이 필요하고 추가 및 제거를 수행하려면 배열에 항목을 삽입하고 삭제해야 하기 때문에 일반적으로 보다 느립니다 HashMap
. 최대 수백 개의 항목을 보유하는 컨테이너의 경우 성능 차이가 50% 미만입니다.
성능을 돕기 위해 컨테이너에는 키를 제거할 때 최적화가 포함됩니다. 즉, 배열을 즉시 압축하는 대신 제거된 항목을 삭제된 것으로 표시합니다. 그런 다음 동일한 키에 대해 항목을 다시 사용하거나 나중에 제거된 모든 항목의 단일 가비지 컬렉션에서 압축할 수 있습니다. 이 가비지 수집은 배열을 확장해야 할 때마다 또는 맵 크기 또는 항목 값을 검색할 때 수행해야 합니다.
를 사용하여 #keyAt(int)
이 컨테이너의 항목을 반복할 수 있습니다 #valueAt(int)
. 인덱스의 오름차순 값을 사용하여 keyAt(int)
키를 반복하면 키가 오름차순으로 반환됩니다. 이 valueAt(int)
경우 키에 해당하는 값이 오름차순으로 반환됩니다.
에 대한 android.util.SparseArray
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
생성자
SparseArray() |
매핑이 없는 새 SparseArray를 만듭니다. |
SparseArray(Int32) |
지정된 수의 매핑을 저장하는 데 추가 메모리 할당이 필요하지 않은 매핑이 없는 새 SparseArray를 만듭니다. |
SparseArray(IntPtr, JniHandleOwnership) |
JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
속성
Class |
이 |
Handle |
기본 Android 인스턴스에 대한 핸들입니다. (다음에서 상속됨 Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
메서드
Append(Int32, Object) |
키가 배열의 모든 기존 키보다 큰 경우를 최적화하여 배열에 키/값 쌍을 배치합니다. |
Clear() |
이 SparseArray에서 모든 키-값 매핑을 제거합니다. |
Clone() |
이 |
Contains(Int32) |
배열에 키가 있으면 true를 반환합니다. |
ContentEquals(SparseArray) |
이 |
ContentHashCode() |
모든 키와 값의 결과를 결합하여 |
Delete(Int32) |
지정된 키에서 매핑을 제거합니다(있는 경우). |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
Get(Int32) |
지정된 키에서 매핑된 개체를 가져오거나 |
Get(Int32, Object) |
지정된 키에서 매핑된 개체를 가져오거나, 이러한 매핑이 수행되지 않은 경우 지정된 개체를 가져옵니다. |
GetHashCode() |
개체에 대한 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
IndexOfKey(Int32) |
지정된 키를 반환할 |
IndexOfValue(Object) |
지정된 값을 반환할 인덱스 또는 지정된 값에 매핑되는 |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
KeyAt(Int32) |
범위 |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
Put(Int32, Object) |
지정된 키의 매핑을 지정된 값에 추가하여 지정된 키에서 이전 매핑이 있는 경우 대체합니다. |
Remove(Int32) |
에 대한 별칭입니다 |
RemoveAt(Int32) |
지정된 인덱스의 매핑을 제거합니다. |
RemoveAtRange(Int32, Int32) |
일괄 처리로 매핑 범위를 제거합니다. |
Set(Int32, Object) |
Kotlin [index]= 연산자를 지원하기 위한 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
SetValueAt(Int32, Object) |
범위 |
Size() |
이 SparseArray가 현재 저장하는 키-값 매핑 수를 반환합니다. |
ToArray<T>() |
|
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
UnregisterFromRuntime() |
|
ValueAt(Int32) |
범위 |
Wait() |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.> (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|