Partager via


Hashtable Classe

Définition

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

[Android.Runtime.Register("java/util/Hashtable", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class Hashtable : Java.Util.Dictionary, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.IMap
[<Android.Runtime.Register("java/util/Hashtable", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type Hashtable = class
    inherit Dictionary
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IMap
Héritage
Attributs
Implémente

Remarques

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs. Tout objet non-peutnull être utilisé comme clé ou comme valeur.

Pour stocker et récupérer des objets à partir d’une table de hachage, les objets utilisés comme clés doivent implémenter la hashCode méthode et la equals méthode.

Une instance de Hashtable possède deux paramètres qui affectent ses performances : la capacité initiale et le facteur de charge. La capacité est le nombre de compartiments dans la table de hachage, et la capacité initiale est simplement la capacité au moment où la table de hachage est créée. Notez que la table de hachage est ouverte : dans le cas d’une « collision de hachage », un compartiment unique stocke plusieurs entrées, qui doivent être recherchées de manière séquentielle. Le facteur de charge est une mesure de la quantité totale de la table de hachage autorisée à obtenir avant que sa capacité soit automatiquement augmentée. Les paramètres de capacité et de facteur de charge initiaux sont simplement des indications à l’implémentation. Les détails exacts quant au moment et si la méthode rehash est appelée sont dépendantes de l’implémentation.

En règle générale, le facteur de charge par défaut (.75) offre un bon compromis entre le temps et les coûts d’espace. Les valeurs plus élevées diminuent la surcharge spatiale, mais augmentent le coût de temps pour rechercher une entrée (qui est reflétée dans la plupart des Hashtable opérations, y compris get et put).

La capacité initiale contrôle un compromis entre l’espace perdu et la nécessité d’opérations rehash , ce qui prend du temps. Aucune opération ne rehash se produit si la capacité initiale est supérieure au nombre maximal d’entrées qu’elle Hashtable contient divisée par son facteur de charge. Toutefois, la définition de la capacité initiale trop élevée peut gaspiller de l’espace.

Si de nombreuses entrées doivent être effectuées dans un Hashtable, la création de celle-ci avec une capacité suffisamment importante peut permettre l’insertion des entrées plus efficacement que de laisser effectuer un réachage automatique si nécessaire pour augmenter la table.

Cet exemple crée une table de hachage de nombres. Il utilise les noms des nombres comme clés :

{@code
              Hashtable<String, Integer> numbers
                = new Hashtable<String, Integer>();
              numbers.put("one", 1);
              numbers.put("two", 2);
              numbers.put("three", 3);}

Pour récupérer un nombre, utilisez le code suivant :

{@code
              Integer n = numbers.get("two");
              if (n != null) {
                System.out.println("two = " + n);
              }}

Les itérateurs retournés par la iterator méthode des collections retournées par toutes les « méthodes d’affichage de collection » de cette classe sont <>em fail-fast</em> : si la table de hachage est modifiée structurellement à tout moment après la création de l’itérateur, à n’importe quelle façon, à l’exception de la méthode de remove l’itérateur, l’itérateur lève un ConcurrentModificationException. Par conséquent, face à la modification simultanée, l’itérateur échoue rapidement et correctement, plutôt que de risquer un comportement arbitraire et non déterministe à un moment indéterminé à l’avenir. Les énumérations retournées par les méthodes et #elements elements les méthodes de #keys keys hashtable ne sont>< pas</em> fail-fast ; si la table de hachage est structurellement modifiée à tout moment après la création de l’énumération, les résultats de l’énumération ne sont pas définis.

Notez que le comportement de défaillance rapide d’un itérateur ne peut pas être garanti, en général, impossible d’apporter des garanties difficiles en présence d’une modification simultanée non synchronisée. Les itérateurs à vitesse d’échec lèvent ConcurrentModificationException un meilleur effort. Par conséquent, il serait incorrect d’écrire un programme qui dépendait de cette exception pour son exactitude : le comportement d’itérateur à échec doit être utilisé uniquement pour détecter les bogues.

À compter de la plateforme Java 2 v1.2, cette classe a été modernisée pour implémenter l’interface Map , ce qui en fait un membre de l’interface

Java Collections Framework. Contrairement aux nouvelles implémentations de collection, Hashtable est synchronisée. Si une implémentation thread-safe n’est pas nécessaire, il est recommandé d’utiliser HashMap à la place de Hashtable. Si une implémentation hautement simultanée thread-safe est souhaitée, il est recommandé d’utiliser java.util.concurrent.ConcurrentHashMap à la place de Hashtable.

Ajouté dans la version 1.0.

Documentation Java pour java.util.Hashtable.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Constructeurs

Hashtable()

Construit une nouvelle table de hachage vide avec une capacité initiale par défaut (11) et un facteur de charge (0).

Hashtable(IDictionary)

Construit une nouvelle table de hachage avec les mêmes mappages que la carte donnée.

Hashtable(Int32)

Construit une nouvelle table de hachage vide avec la capacité initiale spécifiée et le facteur de charge par défaut (0.

Hashtable(Int32, Single)

Construit une nouvelle table de hachage vide avec la capacité initiale spécifiée et le facteur de charge spécifié.

Hashtable(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Propriétés

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsEmpty

Teste si cette table de hachage mappe aucune clé aux valeurs.

JniIdentityHashCode

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
JniPeerMembers

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

PeerReference

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Clear()

Efface cette table de hachage afin qu’elle ne contienne aucune clé.

Clone()

Crée une copie superficielle de cette table de hachage.

Compute(Object, IBiFunction)

À ajouter

ComputeIfAbsent(Object, IFunction)

À ajouter

ComputeIfPresent(Object, IBiFunction)

À ajouter

Contains(Object)

Teste si certaines clés sont mappées à la valeur spécifiée dans cette table de hachage.

ContainsKey(Object)

Teste si l’objet spécifié est une clé dans cette table de hachage.

ContainsValue(Object)

Retourne true si cette table de hachage mappe une ou plusieurs clés à cette valeur.

Dispose()

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
Dispose(Boolean)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
Elements()

Retourne une énumération des valeurs de cette table de hachage.

EntrySet()

Retourne une Set vue des mappages contenus dans cette carte.

Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
ForEach(IBiConsumer)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

Get(Object)

Retourne la valeur à laquelle la clé spécifiée est mappée, ou null si cette carte ne contient aucun mappage pour la clé.

GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
GetOrDefault(Object, Object)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Keys()

Retourne une énumération des clés dans cette table de hachage.

KeySet()

Retourne une Set vue des clés contenues dans cette carte.

Merge(Object, Object, IBiFunction)

À ajouter

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Put(Object, Object)

Mappe le spécifié key à celui spécifié value dans cette table de hachage.

PutAll(IDictionary)

Copie tous les mappages de la carte spécifiée dans cette table de hachage.

PutIfAbsent(Object, Object)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

Rehash()

Augmente la capacité et réorganise en interne cette table de hachage afin de prendre en charge et d’accéder plus efficacement à ses entrées.

Remove(Object)

Supprime la clé (et sa valeur correspondante) de cette table de hachage.

Remove(Object, Object)

Supprime la clé (et sa valeur correspondante) de cette table de hachage.

Replace(Object, Object)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

Replace(Object, Object, Object)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

ReplaceAll(IBiFunction)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
Size()

Retourne le nombre de clés dans cette table de hachage.

ToArray<T>()

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
Values()

Retourne une Collection vue des valeurs contenues dans cette carte.

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

IJavaPeerable.Disposed()

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
IJavaPeerable.DisposeUnlessReferenced()

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
IJavaPeerable.Finalized()

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

(Hérité de Object)

Méthodes d’extension

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

GetJniTypeName(IJavaPeerable)

Cette classe implémente une table de hachage, qui mappe les clés aux valeurs.

S’applique à