TreeMap Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Implementazione basata su NavigableMap albero di 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
[<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
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Implementazione basata su NavigableMap albero di Red-Black. La mappa viene ordinata in base all'ordinamento naturale confrontabile delle chiavi o da un Comparator oggetto fornito al momento della creazione della mappa, a seconda del costruttore utilizzato.
Questa implementazione offre costi di tempo di log(n) garantiti per le containsKeyoperazioni , getput e remove . Gli algoritmi sono adattamenti di quelli in Cormen, Leiserson e Rivest's <em>Introduction to Algorithms</em>.
Si noti che l'ordinamento gestito da una mappa ad albero, come qualsiasi mappa ordinata e se viene fornito o meno un confronto esplicito, deve essere <>coerente con equals</em> se questa mappa ordinata deve implementare correttamente l'interfacciaMap. Vedere Comparable o Comparator per una definizione precisa di <em>coerente con equals</em>. Ciò è dovuto al fatto che l'interfaccia Map è definita in termini di equals operazione, ma una mappa ordinata esegue tutti i confronti delle chiavi usando il compareTo relativo metodo (o compare), quindi due chiavi considerate uguali da questo metodo sono, dal punto di vista della mappa ordinata, uguale. Il comportamento di una mappa <ordinata em>è<> ben definito anche se l'ordinamento è incoerente con equals; non è sufficiente rispettare il contratto generale dell'interfacciaMap.
<si>noti che questa implementazione non è sincronizzata.</strong> Se più thread accedono contemporaneamente a una mappa e almeno uno dei thread modifica la mappa in modo strutturale, deve <essere sincronizzato esternamente.><> Una modifica strutturale è un'operazione che aggiunge o elimina uno o più mapping. La semplice modifica del valore associato a una chiave esistente non è una modifica strutturale. Questa operazione viene in genere eseguita sincronizzando su un oggetto che incapsula naturalmente la mappa. Se non esiste alcun oggetto di questo tipo, la mappa deve essere "sottoposta a wrapping" usando il Collections#synchronizedSortedMap Collections.synchronizedSortedMap metodo . Questa operazione viene eseguita al momento della creazione per impedire l'accesso accidentale non sincronizzato alla mappa:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
Gli iteratori restituiti dal iterator metodo delle raccolte restituiti da tutti i "metodi di visualizzazione raccolta" di questa classe sono <em>fail-fast</em>: se la mappa viene modificata strutturalmente in qualsiasi momento dopo la creazione dell'iteratore, in qualsiasi modo tranne tramite il metodo del proprio remove iteratore, l'iteratore genererà un'eccezione ConcurrentModificationException. Di conseguenza, in presenza di modifiche simultanee, l'iteratore ha esito negativo rapidamente e pulito, anziché rischiare un comportamento arbitrario non deterministico in un momento indeterminato in futuro.
Si noti che il comportamento rapido di errore di un iteratore non può essere garantito così com'è, in generale, impossibile rendere eventuali garanzie difficili in presenza di modifiche simultanee non sincronizzate. Gli iteratori veloci a errori generano ConcurrentModificationException un'operazione ottimale. Pertanto, sarebbe sbagliato scrivere un programma che dipende da questa eccezione per la correttezza: <em>il comportamento rapido di errori degli iteratori deve essere usato solo per rilevare i bug.</em>
I metodi #ceilingEntry, #firstEntry#floorEntry#higherEntry#lastEntry#lowerEntry, #pollFirstEntry, e #pollLastEntry restituiscono Map.Entry istanze che rappresentano gli snapshot dei mapping a partire dall'ora della chiamata.
<Non supportano><> la mutazione della mappa sottostante tramite il metodo facoltativoMap.Entry#setValue setValue.
I #putFirst putFirst metodi e #putLast putLast di questa classe generano UnsupportedOperationException. L'ordine di incontro dei mapping è determinato dal metodo di confronto; pertanto, il posizionamento esplicito non è supportato.
Questa classe è un membro di Java Collections Framework.
Aggiunta nella versione 1.2.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| TreeMap() |
Costruisce una nuova mappa ad albero vuota usando l'ordinamento naturale delle relative chiavi. |
| TreeMap(IComparator) |
Costruisce una nuova mappa ad albero vuota, ordinata in base al confronto specificato. |
| TreeMap(IDictionary) |
Costruisce una nuova mappa ad albero contenente gli stessi mapping della mappa specificata, ordinata in base all'ordinamento <><naturale em/em> delle relative chiavi. |
| TreeMap(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsEmpty |
Da aggiungere (Ereditato da AbstractMap) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniPeerMembers |
Implementazione basata su |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
| Nome | Descrizione |
|---|---|
| CeilingEntry(Object) |
Implementazione basata su |
| CeilingKey(Object) |
Aggiunta in 1. |
| Clear() |
Da aggiungere (Ereditato da AbstractMap) |
| Clone() |
Restituisce una copia superficiale di questa |
| Comparator() |
Restituisce il comparatore utilizzato per confrontare le chiavi in questa mappa ordinata oppure null se l'ordinamento naturale è in uso. |
| Compute(Object, IBiFunction) |
Implementazione basata su |
| ComputeIfAbsent(Object, IFunction) |
Implementazione basata su |
| ComputeIfPresent(Object, IBiFunction) |
Implementazione basata su |
| ContainsKey(Object) |
Da aggiungere (Ereditato da AbstractMap) |
| ContainsValue(Object) |
Da aggiungere (Ereditato da AbstractMap) |
| DescendingKeySet() |
Aggiunta in 1. |
| DescendingMap() |
Aggiunta in 1. |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| EntrySet() |
Restituisce una |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| FirstEntry() |
Restituisce un mapping chiave-valore associato alla chiave minima in questa mappa o |
| FirstKey() |
Restituisce la chiave minima in questa mappa ordinata. |
| FloorEntry(Object) |
Implementazione basata su |
| FloorKey(Object) |
Aggiunta in 1. |
| ForEach(IBiConsumer) |
Implementazione basata su |
| Get(Object) |
Da aggiungere (Ereditato da AbstractMap) |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| HeadMap(Object, Boolean) |
Aggiunta in 1. |
| HeadMap(Object) |
Implementazione basata su |
| HigherEntry(Object) |
Implementazione basata su |
| HigherKey(Object) |
Aggiunta in 1. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| KeySet() |
Da aggiungere (Ereditato da AbstractMap) |
| LastEntry() |
Restituisce un mapping chiave-valore associato alla chiave più grande in questa mappa o |
| LastKey() |
Restituisce la chiave più grande in questa mappa ordinata. |
| LowerEntry(Object) |
Implementazione basata su |
| LowerKey(Object) |
Aggiunta in 1. |
| Merge(Object, Object, IBiFunction) |
Implementazione basata su |
| NavigableKeySet() |
Aggiunta in 1. |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| PollFirstEntry() |
Rimuove e restituisce un mapping chiave-valore associato alla chiave minima in questa mappa o |
| PollLastEntry() |
Rimuove e restituisce un mapping chiave-valore associato alla chiave più grande in questa mappa o |
| Put(Object, Object) |
Da aggiungere (Ereditato da AbstractMap) |
| PutAll(IDictionary) |
Da aggiungere (Ereditato da AbstractMap) |
| PutFirst(Object, Object) |
Genera l'eccezione |
| PutIfAbsent(Object, Object) |
Implementazione basata su |
| PutLast(Object, Object) |
Genera l'eccezione |
| Remove(Object) |
Da aggiungere (Ereditato da AbstractMap) |
| Replace(Object, Object, Object) |
Implementazione basata su |
| Replace(Object, Object) |
Implementazione basata su |
| ReplaceAll(IBiFunction) |
Implementazione basata su |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| Size() |
Da aggiungere (Ereditato da AbstractMap) |
| SubMap(Object, Boolean, Object, Boolean) |
Aggiunta in 1. |
| SubMap(Object, Object) |
Implementazione basata su |
| TailMap(Object, Boolean) |
Aggiunta in 1. |
| TailMap(Object) |
Implementazione basata su |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Values() |
Da aggiungere (Ereditato da AbstractMap) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Notifica al runtime di interoperabilità che il peer gestito è stato eliminato. (Ereditato da Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito. (Ereditato da Object) |
| IJavaPeerable.Finalized() |
Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato. (Ereditato da Object) |
| IJavaPeerable.JniManagedPeerState |
Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI. (Ereditato da Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Imposta il codice hash dell'identità di interoperabilità per questo Java peer. (Ereditato da Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Imposta lo stato peer gestito e JNI per questo peer Java. (Ereditato da Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Imposta il riferimento all'oggetto JNI usato da questo peer gestito. (Ereditato da Object) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Implementazione basata su |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |