SparseArray Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 |
Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
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 |
Contains(Int32) |
Retorna true se a chave existir na matriz. |
ContentEquals(SparseArray) |
Compara o conteúdo deste |
ContentHashCode() |
Retorna um valor de código hash para o conteúdo deste |
Delete(Int32) |
Remove o mapeamento da chave especificada, se houver. |
Dispose() |
|
Dispose(Boolean) |
|
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 |
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 |
IndexOfValue(Object) |
Retorna um índice para o qual |
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 |
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 |
RemoveAt(Int32) |
Remove o mapeamento no índice especificado. |
RemoveAtRange(Int32, Int32) |
Remova um intervalo de mapeamentos como um lote. |
Set(Int32, Object) |
Alias para |
SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
SetValueAt(Int32, Object) |
Dado um índice no intervalo |
Size() |
Retorna o número de mapeamentos de chave-valor que esse SparseArray armazena atualmente. |
ToArray<T>() |
|
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
|
ValueAt(Int32) |
Dado um índice no intervalo |
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() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
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) |
|
GetJniTypeName(IJavaPeerable) |
|