TreeMap Clase

Definición

Implementación basada en NavigableMap árboles 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.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
    interface ISequencedMap
Herencia
Atributos
Implementaciones

Comentarios

Implementación basada en NavigableMap árboles 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, en función del constructor que se use.

Esta implementación proporciona un costo de tiempo garantizado de log(n) para las containsKeyoperaciones , getput y remove . Los algoritmos son adaptaciones de los que se encuentran en Cormen, Leiserson y Rivest's <em>Introduction to Algorithms</em>.

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 conequals< /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 simultáneamente a un mapa 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 método propio remove del iterador, el iterador producirá un ConcurrentModificationException. Por lo tanto, en el caso de la modificación simultánea, el iterador produce un error rápido y limpio, en lugar de arriesgarse a un comportamiento arbitrario y no determinista en un momento indeterminado en el futuro.

Tenga en cuenta que no se puede garantizar el comportamiento rápido de un iterador, ya que es, por lo general, imposible hacer ninguna garantía dura en presencia de modificaciones simultáneas no asincrónicas. Los iteradores rápidos de error inician ConcurrentModificationException el 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 los iteradores debe usarse solo para detectar errores.</em>

Los métodos #ceilingEntry, #firstEntry, #floorEntry, #higherEntry#lastEntry, #lowerEntry, , #pollFirstEntry, y #pollLastEntry devuelven Map.Entry instancias que representan instantáneas de asignaciones a partir de la hora de la llamada. <No admiten><> la mutación del mapa subyacente a través del método opcionalMap.Entry#setValue setValue.

Los #putFirst putFirst métodos y #putLast putLast de esta clase inician UnsupportedOperationException. El orden de encuentro de asignaciones viene determinado por el método de comparación; por lo tanto, no se admite el posicionamiento explícito.

Esta clase es miembro del marco de colecciones de Java.

Agregado en la versión 1.2.

Java documentación para java.util.TreeMap.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
TreeMap()

Construye un nuevo mapa de árbol vacío mediante 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<de> sus claves.

TreeMap(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsEmpty

Por agregar

(Heredado de AbstractMap)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
JniPeerMembers

Implementación basada en NavigableMap árboles de Red-Black.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
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

Nombre Description
CeilingEntry(Object)

Implementación basada en NavigableMap árboles de Red-Black.

CeilingKey(Object)

Agregado en 1.

Clear()

Por agregar

(Heredado de AbstractMap)
Clone()

Devuelve una copia superficial de esta TreeMap instancia.

Comparator()

Devuelve el comparador usado para comparar las claves de este mapa ordenado, o null si la ordenación natural está en uso.

Compute(Object, IBiFunction)

Implementación basada en NavigableMap árboles de Red-Black.

ComputeIfAbsent(Object, IFunction)

Implementación basada en NavigableMap árboles de Red-Black.

ComputeIfPresent(Object, IBiFunction)

Implementación basada en NavigableMap árboles de Red-Black.

Construct(JniObjectReference, JniObjectReferenceOptions)

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
ContainsKey(Object)

Por agregar

(Heredado de AbstractMap)
ContainsValue(Object)

Por agregar

(Heredado de AbstractMap)
DescendingKeySet()

Agregado en 1.

DescendingMap()

Agregado en 1.

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
EntrySet()

Devuelve una Set vista de las asignaciones contenidas en este mapa.

Equals(Object)

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
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 null si el mapa está vacío.

FirstKey()

Devuelve la clave mínima de este mapa ordenado.

FloorEntry(Object)

Implementación basada en NavigableMap árboles de Red-Black.

FloorKey(Object)

Agregado en 1.

ForEach(IBiConsumer)

Implementación basada en NavigableMap árboles de Red-Black.

Get(Object)

Por agregar

(Heredado de AbstractMap)
GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
HeadMap(Object, Boolean)

Agregado en 1.

HeadMap(Object)

Implementación basada en NavigableMap árboles de Red-Black.

HigherEntry(Object)

Implementación basada en NavigableMap árboles de Red-Black.

HigherKey(Object)

Agregado en 1.

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

Por agregar

(Heredado de AbstractMap)
LastEntry()

Devuelve una asignación de clave-valor asociada a la clave más grande de este mapa o null si el mapa está vacío.

LastKey()

Devuelve la clave más grande de este mapa ordenado.

LowerEntry(Object)

Implementación basada en NavigableMap árboles de Red-Black.

LowerKey(Object)

Agregado en 1.

Merge(Object, Object, IBiFunction)

Implementación basada en NavigableMap árboles de Red-Black.

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 null si el mapa está vacío.

PollLastEntry()

Quita y devuelve una asignación de clave-valor asociada a la clave más grande de este mapa o null si el mapa está vacío.

Put(Object, Object)

Por agregar

(Heredado de AbstractMap)
PutAll(IDictionary)

Por agregar

(Heredado de AbstractMap)
PutFirst(Object, Object)

Lanza UnsupportedOperationException.

PutIfAbsent(Object, Object)

Implementación basada en NavigableMap árboles de Red-Black.

PutLast(Object, Object)

Lanza UnsupportedOperationException.

Remove(Object)

Por agregar

(Heredado de AbstractMap)
Replace(Object, Object, Object)

Implementación basada en NavigableMap árboles de Red-Black.

Replace(Object, Object)

Implementación basada en NavigableMap árboles de Red-Black.

ReplaceAll(IBiFunction)

Implementación basada en NavigableMap árboles de Red-Black.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
Size()

Por agregar

(Heredado de AbstractMap)
SubMap(Object, Boolean, Object, Boolean)

Agregado en 1.

SubMap(Object, Object)

Implementación basada en NavigableMap árboles de Red-Black.

TailMap(Object, Boolean)

Agregado en 1.

TailMap(Object)

Implementación basada en NavigableMap árboles de Red-Black.

ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Values()

Por 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, 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)
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)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Implementación basada en NavigableMap árboles de Red-Black.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Implementación basada en NavigableMap árboles de Red-Black.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Implementación basada en NavigableMap árboles de Red-Black.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a