Compartilhar via


SparseArray Classe

Definição

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

[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
Herança
SparseArray
Derivado
Atributos
Implementações

Comentários

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas. SparseArray destina-se a ser mais eficiente em termos de memória do que um <c>HashMap</c>, porque evita chaves de caixa automática e sua estrutura de dados não depende de um objeto de entrada extra para cada mapeamento.

Observe que esse contêiner mantém seus mapeamentos em uma estrutura de dados de matriz, usando uma pesquisa binária para localizar chaves. A implementação não se destina a ser apropriada para estruturas de dados que podem conter um grande número de itens. Geralmente é mais lento do que um HashMap porque as pesquisas exigem uma pesquisa binária e as adições e remoções exigem a inserção e exclusão de entradas na matriz. Para contêineres que comportam até centenas de itens, a diferença de desempenho é inferior a 50%.

Para ajudar no desempenho, o contêiner inclui uma otimização ao remover chaves: em vez de compactar sua matriz imediatamente, ele deixa a entrada removida marcada como excluída. A entrada pode então ser reutilizada para a mesma chave ou compactada posteriormente em uma única coleta de lixo de todas as entradas removidas. Essa coleta de lixo deve ser executada sempre que a matriz precisar ser aumentada ou quando o tamanho do mapa ou os valores de entrada forem recuperados.

É possível iterar sobre os itens neste contêiner usando #keyAt(int) e #valueAt(int). A iteração sobre as chaves usando keyAt(int) com valores crescentes do índice retorna as chaves em ordem crescente. No caso do valueAt(int), os valores correspondentes às chaves são retornados em ordem crescente.

Documentação Java para android.util.SparseArray.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

SparseArray()

Cria um novo SparseArray que não contém mapeamentos.

SparseArray(Int32)

Cria um novo SparseArray que não contém mapeamentos que não exigirão nenhuma alocação de memória adicional para armazenar o número especificado de mapeamentos.

SparseArray(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
JniPeerMembers

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

PeerReference

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Append(Int32, Object)

Coloca um par chave/valor na matriz, otimizando para o caso em que a chave é maior do que todas as chaves existentes na matriz.

Clear()

Remove todos os mapeamentos chave-valor deste SparseArray.

Clone()

Cria e retorna uma cópia deste Object.

Contains(Int32)

Retorna true se a chave existir na matriz.

ContentEquals(SparseArray)

Compara o conteúdo deste SparseArray com o especificado SparseArray.

ContentHashCode()

Retorna um valor de código hash para o conteúdo deste SparseArray, combinando o Objects#hashCode(Object) resultado de todas as suas chaves e valores.

Delete(Int32)

Remove o mapeamento da chave especificada, se houver.

Dispose()

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
Dispose(Boolean)

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
Get(Int32)

Obtém o objeto mapeado a partir da chave especificada ou null se nenhum mapeamento tiver sido feito.

Get(Int32, Object)

Obtém o objeto mapeado da chave especificada ou o objeto especificado se esse mapeamento não tiver sido feito.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
IndexOfKey(Int32)

Retorna o índice para o qual #keyAt retornaria a chave especificada ou um número negativo se a chave especificada não estiver mapeada.

IndexOfValue(Object)

Retorna um índice para o qual #valueAt retornaria o valor especificado ou um número negativo se nenhuma chave for mapeada para o valor especificado.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
KeyAt(Int32)

Dado um índice no intervalo 0...size()-1, retorna a chave do mapeamento de indexchave-valor th que este SparseArray armazena.

Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Put(Int32, Object)

Adiciona um mapeamento da chave especificada ao valor especificado, substituindo o mapeamento anterior da chave especificada, se houver.

Remove(Int32)

Alias para #delete(int).

RemoveAt(Int32)

Remove o mapeamento no índice especificado.

RemoveAtRange(Int32, Int32)

Remova um intervalo de mapeamentos como um lote.

Set(Int32, Object)

Alias para #put(int, Object) dar suporte ao operador Kotlin [index]=.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
SetValueAt(Int32, Object)

Dado um índice no intervalo 0...size()-1, define um novo valor para o indexmapeamento de chave-valor th que este SparseArray armazena.

Size()

Retorna o número de mapeamentos de chave-valor que esse SparseArray armazena atualmente.

ToArray<T>()

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
ValueAt(Int32)

Dado um índice no intervalo 0...size()-1, retorna o valor do mapeamento de indexchave-valor th que este SparseArray armazena.

Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
IJavaPeerable.Finalized()

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

GetJniTypeName(IJavaPeerable)

SparseArray mapeia inteiros para Objetos e, ao contrário de uma matriz normal de Objetos, seus índices podem conter lacunas.

Aplica-se a