TreeMap 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.
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 containsKey
operações , get
put
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 ConcurrentModificationException
arquivo . 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 |
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 |
JniPeerMembers |
Uma implementação baseada em |
PeerReference |
Uma implementação baseada em |
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 |
CeilingKey(Object) |
Adicionado em 1. |
Clear() |
A ser adicionado (Herdado de AbstractMap) |
Clone() |
Retorna uma cópia superficial dessa |
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 |
Dispose(Boolean) |
Uma implementação baseada em |
EntrySet() |
Retorna uma |
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 |
FirstKey() |
Retorna a menor chave neste mapa classificado. |
FloorEntry(Object) |
Uma implementação baseada em |
FloorKey(Object) |
Adicionado em 1. |
ForEach(IBiConsumer) |
Uma implementação baseada em |
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 |
HeadMap(Object, Boolean) |
Adicionado em 1. |
HigherEntry(Object) |
Uma implementação baseada em |
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 |
LastKey() |
Retorna a maior chave neste mapa classificado. |
LowerEntry(Object) |
Uma implementação baseada em |
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 |
PollLastEntry() |
Remove e retorna um mapeamento chave-valor associado à maior chave neste mapa ou |
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 |
Replace(Object, Object, Object) |
Uma implementação baseada em |
ReplaceAll(IBiFunction) |
Uma implementação baseada em |
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 |
TailMap(Object) |
Uma implementação baseada em |
TailMap(Object, Boolean) |
Adicionado em 1. |
ToArray<T>() |
Uma implementação baseada em |
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
Uma implementação baseada em |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Uma implementação baseada em |
IJavaPeerable.Finalized() |
Uma implementação baseada em |
IJavaPeerable.JniManagedPeerState |
Uma implementação baseada em |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Uma implementação baseada em |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Uma implementação baseada em |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Uma implementação baseada em |
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 |
GetJniTypeName(IJavaPeerable) |
Uma implementação baseada em |