Condividi tramite


SparseArray Classe

Definizione

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à
SparseArray
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 Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
JniPeerMembers

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

PeerReference

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
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 Object.

Contains(Int32)

Restituisce true se la chiave esiste nella matrice.

ContentEquals(SparseArray)

Confronta il contenuto di questo SparseArray oggetto con l'oggetto specificato SparseArray.

ContentHashCode()

Restituisce un valore di codice hash per il contenuto di questo SparseArrayoggetto , combinando il Objects#hashCode(Object) risultato di tutte le relative chiavi e valori.

Delete(Int32)

Rimuove il mapping dalla chiave specificata, se presente.

Dispose()

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
Dispose(Boolean)

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
Get(Int32)

Ottiene l'oggetto mappato dalla chiave specificata o null se non è stato eseguito alcun mapping di questo tipo.

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 #keyAt restituirebbe la chiave specificata o un numero negativo se la chiave specificata non è mappata.

IndexOfValue(Object)

Restituisce un indice per il quale #valueAt restituirebbe il valore specificato o un numero negativo se nessuna chiave viene mappata al valore specificato.

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 0...size()-1, restituisce la chiave dal mapping del indexvalore chiave th archiviato da sparseArray.

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 #delete(int).

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 #put(int, Object) il supporto dell'operatore Kotlin [index]= .

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetValueAt(Int32, Object)

Dato un indice nell'intervallo 0...size()-1, imposta un nuovo valore per il indexmapping di th key-value archiviato da sparseArray.

Size()

Restituisce il numero di mapping chiave-valore attualmente archiviati da sparseArray.

ToArray<T>()

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
ValueAt(Int32)

Dato un indice nell'intervallo 0...size()-1, restituisce il valore del mapping del indexvalore chiave th archiviato da sparseArray.

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()

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
IJavaPeerable.Finalized()

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

GetJniTypeName(IJavaPeerable)

SparseArray esegue il mapping di interi a Oggetti e, a differenza di una normale matrice di oggetti, gli indici possono contenere spazi vuoti.

Si applica a