SparseArray Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
SparseArray
esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.
[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
- Ereditarietà
- Derivato
- Attributi
- Implementazioni
Commenti
SparseArray
esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti. SparseArray
è progettato per essere più efficiente della memoria rispetto a un <hashmap</c c>>, perché evita le chiavi di boxing automatico e la relativa struttura dei dati non si basa su un oggetto voce aggiuntivo per ogni mapping.
Si noti che questo contenitore mantiene i mapping in una struttura di dati di matrice, usando una ricerca binaria per trovare le chiavi. L'implementazione non è progettata per essere appropriata per le strutture di dati che possono contenere un numero elevato di elementi. In genere è più lento di un HashMap
perché le ricerche richiedono una ricerca binaria e aggiungono e rimuovono richiedono l'inserimento e l'eliminazione di voci nella matrice. Per i contenitori che contengono fino a centinaia di elementi, la differenza di prestazioni è inferiore al 50%.
Per migliorare le prestazioni, il contenitore include un'ottimizzazione durante la rimozione delle chiavi: invece di compattare immediatamente la matrice, lascia la voce rimossa contrassegnata come eliminata. La voce può quindi essere riutilizzata per la stessa chiave o compattata in un'unica operazione di Garbage Collection di tutte le voci rimosse. Questa operazione di Garbage Collection deve essere eseguita ogni volta che la matrice deve essere aumentata o quando vengono recuperati i valori delle dimensioni o delle voci della mappa.
È possibile scorrere gli elementi in questo contenitore usando #keyAt(int)
e #valueAt(int)
. L'iterazione delle chiavi usando keyAt(int)
con valori ascendenti dell'indice restituisce le chiavi in ordine crescente. Nel caso di valueAt(int)
, i valori corrispondenti alle chiavi vengono restituiti in ordine crescente.
Documentazione java per android.util.SparseArray
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
SparseArray() |
Crea un nuovo sparseArray senza mapping. |
SparseArray(Int32) |
Crea un nuovo sparseArray contenente nessun mapping che non richiederà alcuna allocazione di memoria aggiuntiva per archiviare il numero specificato di mapping. |
SparseArray(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
Append(Int32, Object) |
Inserisce una coppia chiave/valore nella matrice, ottimizzando per il caso in cui la chiave è maggiore di tutte le chiavi esistenti nella matrice. |
Clear() |
Rimuove tutti i mapping chiave-valore da sparseArray. |
Clone() |
Crea e restituisce una copia dell'oggetto |
Contains(Int32) |
Restituisce true se la chiave esiste nella matrice. |
ContentEquals(SparseArray) |
Confronta il contenuto di questo |
ContentHashCode() |
Restituisce un valore di codice hash per il contenuto di questo |
Delete(Int32) |
Rimuove il mapping dalla chiave specificata, se presente. |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
Get(Int32) |
Ottiene l'oggetto mappato dalla chiave specificata o |
Get(Int32, Object) |
Ottiene l'oggetto mappato dalla chiave specificata o l'oggetto specificato se non è stato eseguito alcun mapping di questo tipo. |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
IndexOfKey(Int32) |
Restituisce l'indice per il quale |
IndexOfValue(Object) |
Restituisce un indice per il quale |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
KeyAt(Int32) |
Dato un indice nell'intervallo |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
Put(Int32, Object) |
Aggiunge un mapping dalla chiave specificata al valore specificato, sostituendo il mapping precedente dalla chiave specificata, se presente. |
Remove(Int32) |
Alias per |
RemoveAt(Int32) |
Rimuove il mapping in corrispondenza dell'indice specificato. |
RemoveAtRange(Int32, Int32) |
Rimuovere un intervallo di mapping come batch. |
Set(Int32, Object) |
Alias per per |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
SetValueAt(Int32, Object) |
Dato un indice nell'intervallo |
Size() |
Restituisce il numero di mapping chiave-valore attualmente archiviati da sparseArray. |
ToArray<T>() |
|
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
|
ValueAt(Int32) |
Dato un indice nell'intervallo |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|