Compartilhar via


TreeMap Classe

Definição

Uma implementação baseada em NavigableMap árvore rubro-negra.

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

Comentários

Uma implementação baseada em NavigableMap árvore rubro-negra. O mapa é classificado de acordo com a ordem natural comparável de suas chaves, ou por um Comparator fornecido no momento da criação do mapa, dependendo de qual construtor é usado.

Essa implementação fornece custo de tempo de log(n) garantido para as containsKeyoperações , getput e remove . Algoritmos são adaptações daqueles de Cormen, Leiserson e Rivest's <em>Introduction to Algorithms</em>.

Observe que a ordem mantida por um mapa de árvore, como qualquer mapa classificado, e se um comparador explícito é fornecido ou não, deve ser consistente com equals/em> se esse mapa classificado for implementar corretamente a Map interface.<>< (Veja Comparable ou Comparator para uma definição precisa de <em>consistente com equals</em>.) Isso ocorre porque a Map interface é definida em termos da operação, mas um mapa classificado executa todas as comparações de equals chaves usando seu compareTo (ou compare) método, de modo que duas chaves que são consideradas iguais por esse método são, do ponto de vista do mapa classificado, iguais. O comportamento de um mapa <classificado é></em> bem definido mesmo que sua ordenação seja inconsistente com equals, ele simplesmente não obedece ao contrato geral da Map interface.

<forte>Observe que essa implementação não está sincronizada.</strong> Se vários threads acessam um mapa simultaneamente, e pelo menos um dos threads modifica o mapa estruturalmente, ele <deve>< ser> sincronizado externamente. (Uma modificação estrutural é qualquer operação que adiciona ou exclui um ou mais mapeamentos; a mera alteração do valor associado a uma chave existente não é uma modificação estrutural.) Isso normalmente é realizado sincronizando em algum objeto que encapsula naturalmente o mapa. Se esse objeto não existir, o mapa deve ser "empacotado" usando o Collections#synchronizedSortedMap Collections.synchronizedSortedMap método. Isso é melhor feito no momento da criação, para evitar acesso acidental não sincronizado ao mapa:

SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));

Os iteradores retornados pelo iterator método das coleções retornadas por todos os "métodos de exibição de coleção" dessa classe são <em>fail-fast</em>: se o mapa for estruturalmente modificado a qualquer momento após a criação do iterador, de qualquer forma, exceto através do próprio remove método do iterador, o iterador lançará um ConcurrentModificationExceptionarquivo . Assim, diante da modificação simultânea, o iterador falha rápida e limpamente, em vez de arriscar um comportamento arbitrário e não determinista em um momento indeterminado no futuro.

Observe que o comportamento de falha rápida de um iterador não pode ser garantido, pois é, de modo geral, impossível fazer quaisquer garantias rígidas na presença de modificação simultânea não sincronizada. Os iteradores rápidos lançam ConcurrentModificationException com base no melhor esforço. Portanto, seria errado escrever um programa que dependesse dessa exceção para sua correção: <no>comportamento fail-fast dos iteradores deveria ser usado apenas para detectar bugs.</eme>

Todos os Map.Entry pares retornados por métodos nesta classe e suas exibições representam instantâneos de mapeamentos no momento em que foram produzidos. Eles não <apoiam fortemente></fortemente> o Entry.setValue método. (Note, no entanto, que é possível alterar mapeamentos no mapa associado usando put.)

Essa classe é membro do Java Collections Framework.

Adicionado em 1.2.

Documentação Java para java.util.TreeMap.

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

TreeMap()

Constrói um novo mapa de árvore vazio, usando a ordenação natural de suas chaves.

TreeMap(IComparator)

Constrói um novo mapa de árvore vazio, ordenado de acordo com o comparador dado.

TreeMap(IDictionary)

Constrói um novo mapa de árvore contendo os mesmos mapeamentos que o mapa dado, ordenado de acordo com a <ordenação<> natural de>suas chaves.

TreeMap(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)
IsEmpty

A ser adicionado

(Herdado de AbstractMap)
JniIdentityHashCode

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
JniPeerMembers

Uma implementação baseada em NavigableMap árvore rubro-negra.

PeerReference

Uma implementação baseada em NavigableMap árvore rubro-negra.

(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

CeilingEntry(Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

CeilingKey(Object)

Adicionado em 1.

Clear()

A ser adicionado

(Herdado de AbstractMap)
Clone()

Retorna uma cópia superficial dessa TreeMap instância.

Comparator()

Retorna o comparador usado para comparar chaves nesse mapa classificado ou null se a ordem natural estiver em uso.

ContainsKey(Object)

A ser adicionado

(Herdado de AbstractMap)
ContainsValue(Object)

A ser adicionado

(Herdado de AbstractMap)
DescendingKeySet()

Adicionado em 1.

DescendingMap()

Adicionado em 1.

Dispose()

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
Dispose(Boolean)

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
EntrySet()

Retorna uma Set exibição dos mapeamentos contidos neste mapa.

Equals(Object)

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

(Herdado de Object)
FirstEntry()

Retorna um mapeamento chave-valor associado à menor chave neste mapa ou null se o mapa estiver vazio.

FirstKey()

Retorna a menor chave neste mapa classificado.

FloorEntry(Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

FloorKey(Object)

Adicionado em 1.

ForEach(IBiConsumer)

Uma implementação baseada em NavigableMap árvore rubro-negra.

Get(Object)

A ser adicionado

(Herdado de AbstractMap)
GetHashCode()

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

(Herdado de Object)
HeadMap(Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

HeadMap(Object, Boolean)

Adicionado em 1.

HigherEntry(Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

HigherKey(Object)

Adicionado em 1.

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

A ser adicionado

(Herdado de AbstractMap)
LastEntry()

Retorna um mapeamento chave-valor associado à maior chave neste mapa ou null se o mapa estiver vazio.

LastKey()

Retorna a maior chave neste mapa classificado.

LowerEntry(Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

LowerKey(Object)

Adicionado em 1.

NavigableKeySet()

Adicionado em 1.

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

Remove e retorna um mapeamento chave-valor associado à chave mínima neste mapa ou null se o mapa estiver vazio.

PollLastEntry()

Remove e retorna um mapeamento chave-valor associado à maior chave neste mapa ou null se o mapa estiver vazio.

Put(Object, Object)

A ser adicionado

(Herdado de AbstractMap)
PutAll(IDictionary)

A ser adicionado

(Herdado de AbstractMap)
Remove(Object)

A ser adicionado

(Herdado de AbstractMap)
Replace(Object, Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

Replace(Object, Object, Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

ReplaceAll(IBiFunction)

Uma implementação baseada em NavigableMap árvore rubro-negra.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
Size()

A ser adicionado

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

Adicionado em 1.

SubMap(Object, Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

TailMap(Object)

Uma implementação baseada em NavigableMap árvore rubro-negra.

TailMap(Object, Boolean)

Adicionado em 1.

ToArray<T>()

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
ToString()

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

(Herdado de Object)
UnregisterFromRuntime()

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
Values()

A ser adicionado

(Herdado de AbstractMap)
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()

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
IJavaPeerable.Finalized()

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Uma implementação baseada em NavigableMap árvore rubro-negra.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Uma implementação baseada em NavigableMap árvore rubro-negra.

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

Uma implementação baseada em NavigableMap árvore rubro-negra.

GetJniTypeName(IJavaPeerable)

Uma implementação baseada em NavigableMap árvore rubro-negra.

Aplica-se a