TreeMap 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í.
Implementación basada en NavigableMap
árbol de Red-Black.
[Android.Runtime.Register("java/util/TreeMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class TreeMap : Java.Util.AbstractMap, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.INavigableMap
[<Android.Runtime.Register("java/util/TreeMap", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type TreeMap = class
inherit AbstractMap
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface INavigableMap
interface ISortedMap
interface IMap
- Herencia
- Atributos
- Implementaciones
Comentarios
Implementación basada en NavigableMap
árbol de Red-Black. El mapa se ordena según la ordenación natural comparable de sus claves, o mediante un Comparator
proporcionado en el momento de la creación del mapa, dependiendo del constructor que se use.
Esta implementación proporciona un costo de tiempo garantizado de log(n) para las containsKey
operaciones , get
put
y remove
. Los algoritmos son adaptaciones de los de Cormen, Leiserson y em>Introduction to Algorithms</em> de Rivest<.
Tenga en cuenta que la ordenación mantenida por un mapa de árbol, como cualquier mapa ordenado, y si se proporciona o no un comparador explícito, debe ser <>coherente con equals
</em> si este mapa ordenado es para implementar correctamente la Map
interfaz. (Vea Comparable
o Comparator
para obtener una definición precisa de <em>coherente con equals</em>). Esto se debe a que la Map
interfaz se define en términos de la equals
operación, pero un mapa ordenado realiza todas las comparaciones clave mediante su compareTo
método (o compare
), por lo que dos claves que se consideran iguales por este método son, desde el punto de vista del mapa ordenado, igual. El comportamiento de un mapa <ordenado em>es</em> bien definido incluso si su ordenación es incoherente con equals
; simplemente no puede obedecer el contrato general de la Map
interfaz.
<fuerte>Tenga en cuenta que esta implementación no está sincronizada.</strong> Si varios subprocesos acceden a un mapa simultáneamente y al menos uno de los subprocesos modifica el mapa estructuralmente, debe><><sincronizarse externamente. (Una modificación estructural es cualquier operación que agrega o elimina una o varias asignaciones; simplemente cambiar el valor asociado a una clave existente no es una modificación estructural). Esto se logra normalmente mediante la sincronización en algún objeto que encapsula naturalmente el mapa. Si no existe este objeto, el mapa debe "encapsularse" mediante el Collections#synchronizedSortedMap Collections.synchronizedSortedMap
método . Esto se hace mejor en el momento de la creación, para evitar el acceso no asincrónico accidental al mapa:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
Los iteradores devueltos por el iterator
método de las colecciones devueltas por todos los "métodos de vista de colección" de esta clase son <em>fail-fast</em>: si el mapa se modifica estructuralmente en cualquier momento después de crear el iterador, de cualquier manera excepto a través del propio remove
método del iterador, el iterador iniciará un ConcurrentModificationException
. Por lo tanto, en el caso de la modificación simultánea, el iterador falla rápidamente y limpiamente, en lugar de arriesgarse a un comportamiento arbitrario y no determinista en un momento indeterminado en el futuro.
Tenga en cuenta que el comportamiento rápido de error de un iterador no se puede garantizar tal cual, por lo general, imposible hacer cualquier garantía difícil en presencia de modificaciones simultáneas no asincrónicas. Los iteradores rápidos de error producen ConcurrentModificationException
un mejor esfuerzo. Por lo tanto, sería incorrecto escribir un programa que dependiera de esta excepción por su corrección: <em>el comportamiento rápido de errores de los iteradores solo se debe usar para detectar errores.</em>
Todos los Map.Entry
pares devueltos por métodos de esta clase y sus vistas representan instantáneas de asignaciones en el momento en que se generaron. <>Admiten el método fuerte y no< fuerteEntry.setValue
>. (Sin embargo, tenga en cuenta que es posible cambiar las asignaciones en el mapa asociado mediante put
).
Esta clase es miembro de Java Collections Framework.
Se agregó en la versión 1.2.
Documentación de Java para java.util.TreeMap
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.
Constructores
TreeMap() |
Construye un nuevo mapa de árbol vacío con el orden natural de sus claves. |
TreeMap(IComparator) |
Construye un nuevo mapa de árbol vacío, ordenado según el comparador especificado. |
TreeMap(IDictionary) |
Construye un nuevo mapa de árbol que contiene las mismas asignaciones que el mapa especificado, ordenado según el <orden< natural em>/em> de sus claves. |
TreeMap(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el entorno 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) |
IsEmpty |
Para agregar (Heredado de AbstractMap) |
JniIdentityHashCode |
Implementación basada en |
JniPeerMembers |
Implementación basada en |
PeerReference |
Implementación basada en |
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
CeilingEntry(Object) |
Implementación basada en |
CeilingKey(Object) |
Agregado en 1. |
Clear() |
Para agregar (Heredado de AbstractMap) |
Clone() |
Devuelve una copia superficial de esta |
Comparator() |
Devuelve el comparador utilizado para comparar las claves de este mapa ordenado, o null si está en uso la ordenación natural. |
ContainsKey(Object) |
Para agregar (Heredado de AbstractMap) |
ContainsValue(Object) |
Para agregar (Heredado de AbstractMap) |
DescendingKeySet() |
Agregado en 1. |
DescendingMap() |
Agregado en 1. |
Dispose() |
Implementación basada en |
Dispose(Boolean) |
Implementación basada en |
EntrySet() |
Devuelve una |
Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
FirstEntry() |
Devuelve una asignación de clave-valor asociada a la clave mínima de este mapa o |
FirstKey() |
Devuelve la clave mínima de este mapa ordenado. |
FloorEntry(Object) |
Implementación basada en |
FloorKey(Object) |
Agregado en 1. |
ForEach(IBiConsumer) |
Implementación basada en |
Get(Object) |
Para agregar (Heredado de AbstractMap) |
GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
HeadMap(Object) |
Implementación basada en |
HeadMap(Object, Boolean) |
Agregado en 1. |
HigherEntry(Object) |
Implementación basada en |
HigherKey(Object) |
Agregado en 1. |
JavaFinalize() |
Llamado por 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) |
KeySet() |
Para agregar (Heredado de AbstractMap) |
LastEntry() |
Devuelve una asignación de clave-valor asociada a la clave más grande de este mapa o |
LastKey() |
Devuelve la clave más grande de este mapa ordenado. |
LowerEntry(Object) |
Implementación basada en |
LowerKey(Object) |
Agregado en 1. |
NavigableKeySet() |
Agregado en 1. |
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) |
PollFirstEntry() |
Quita y devuelve una asignación de clave-valor asociada a la clave mínima de este mapa, o |
PollLastEntry() |
Quita y devuelve una asignación de clave-valor asociada a la clave más grande de este mapa, o |
Put(Object, Object) |
Para agregar (Heredado de AbstractMap) |
PutAll(IDictionary) |
Para agregar (Heredado de AbstractMap) |
Remove(Object) |
Para agregar (Heredado de AbstractMap) |
Replace(Object, Object) |
Implementación basada en |
Replace(Object, Object, Object) |
Implementación basada en |
ReplaceAll(IBiFunction) |
Implementación basada en |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
Size() |
Para agregar (Heredado de AbstractMap) |
SubMap(Object, Boolean, Object, Boolean) |
Agregado en 1. |
SubMap(Object, Object) |
Implementación basada en |
TailMap(Object) |
Implementación basada en |
TailMap(Object, Boolean) |
Agregado en 1. |
ToArray<T>() |
Implementación basada en |
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterFromRuntime() |
Implementación basada en |
Values() |
Para agregar (Heredado de AbstractMap) |
Wait() |
Hace que el subproceso actual espere hasta que se despierte, 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 <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 <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() |
Implementación basada en |
IJavaPeerable.DisposeUnlessReferenced() |
Implementación basada en |
IJavaPeerable.Finalized() |
Implementación basada en |
IJavaPeerable.JniManagedPeerState |
Implementación basada en |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Implementación basada en |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Implementación basada en |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Implementación basada en |
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) |
Implementación basada en |
GetJniTypeName(IJavaPeerable) |
Implementación basada en |