SparseArray Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
SparseArray
asigna enteros a Objetos y, a diferencia de una matriz normal de Objetos, sus índices pueden contener huecos.
[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
- Herencia
- Derivado
- Atributos
- Implementaciones
Comentarios
SparseArray
asigna enteros a Objetos y, a diferencia de una matriz normal de Objetos, sus índices pueden contener huecos. SparseArray
está diseñado para ser más eficiente para la memoria que un <>objeto HashMap</c>, ya que evita las claves de conversión boxing automática y su estructura de datos no se basa en un objeto de entrada adicional para cada asignación.
Tenga en cuenta que este contenedor mantiene sus asignaciones en una estructura de datos de matriz, mediante una búsqueda binaria para buscar claves. La implementación no está pensada para ser adecuada para las estructuras de datos que pueden contener un gran número de elementos. Por lo general, es más lento que porque HashMap
las búsquedas requieren una búsqueda binaria y agrega y quita requiere insertar y eliminar entradas en la matriz. En el caso de los contenedores que contienen hasta cientos de elementos, la diferencia de rendimiento es inferior al 50 %.
Para ayudar con el rendimiento, el contenedor incluye una optimización al quitar claves: en lugar de compactar su matriz inmediatamente, deja la entrada eliminada marcada como eliminada. A continuación, la entrada se puede volver a usar para la misma clave o compactarla más adelante en una sola recolección de elementos no utilizados de todas las entradas eliminadas. Esta recolección de elementos no utilizados debe realizarse siempre que sea necesario crecer la matriz o cuando se recuperen los valores de tamaño o entrada del mapa.
Es posible iterar en los elementos de este contenedor mediante #keyAt(int)
y #valueAt(int)
. La iteración de las claves mediante keyAt(int)
con valores ascendentes del índice devuelve las claves en orden ascendente. En el caso de valueAt(int)
, los valores correspondientes a las claves se devuelven en orden ascendente.
Documentación de Java para android.util.SparseArray
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
SparseArray() |
Crea una nueva SparseArray sin asignaciones. |
SparseArray(Int32) |
Crea una nueva SparseArray que no contiene asignaciones que no requerirán ninguna asignación de memoria adicional para almacenar el número especificado de asignaciones. |
SparseArray(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
Class |
Devuelve la clase en tiempo de ejecución de este |
Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
Append(Int32, Object) |
Coloca un par clave-valor en la matriz, optimizando para el caso en el que la clave es mayor que todas las claves existentes de la matriz. |
Clear() |
Quita todas las asignaciones de clave-valor de esta SparseArray. |
Clone() |
Crea y devuelve una copia de este |
Contains(Int32) |
Devuelve true si la clave existe en la matriz. |
ContentEquals(SparseArray) |
Compara el contenido de esto |
ContentHashCode() |
Devuelve un valor de código hash para el contenido de , |
Delete(Int32) |
Quita la asignación de la clave especificada, si hay alguna. |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
Get(Int32) |
Obtiene el objeto asignado a partir de la clave especificada o |
Get(Int32, Object) |
Obtiene el objeto asignado a partir de la clave especificada o el objeto especificado si no se ha realizado dicha asignación. |
GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
IndexOfKey(Int32) |
Devuelve el índice para el que |
IndexOfValue(Object) |
Devuelve un índice para el que |
JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
KeyAt(Int32) |
Dado un índice en el intervalo |
Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
Put(Int32, Object) |
Agrega una asignación de la clave especificada al valor especificado, reemplazando la asignación anterior de la clave especificada si había una. |
Remove(Int32) |
Alias para |
RemoveAt(Int32) |
Quita la asignación en el índice especificado. |
RemoveAtRange(Int32, Int32) |
Quite un intervalo de asignaciones como un lote. |
Set(Int32, Object) |
Alias para |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
SetValueAt(Int32, Object) |
Dado un índice en el intervalo |
Size() |
Devuelve el número de asignaciones de clave-valor que almacena actualmente este SparseArray. |
ToArray<T>() |
|
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterFromRuntime() |
|
ValueAt(Int32) |
Dado un índice en el intervalo |
Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (Heredado de Object) |
Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|