HashSet Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Cette classe implémente l’interface Set
, sauvegardée par une table de hachage (en fait une HashMap
instance).
[Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class HashSet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type HashSet = class
inherit AbstractSet
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface ISet
interface ICollection
interface IIterable
- Héritage
- Dérivé
- Attributs
- Implémente
Remarques
Cette classe implémente l’interface Set
, sauvegardée par une table de hachage (en fait une HashMap
instance). Il ne garantit aucune garantie quant à l’ordre d’itération de l’ensemble ; en particulier, elle ne garantit pas que l’ordre restera constant au fil du temps. Cette classe autorise l’élément null
.
Cette classe offre des performances de temps constantes pour les opérations de base (add
, remove
contains
et size
), en supposant que la fonction de hachage disperse correctement les éléments entre les compartiments. L’itération sur ce jeu nécessite un temps proportionnel à la somme de la taille de l’instance HashSet
(le nombre d’éléments) ainsi que de la « capacité » de l’instance de stockage HashMap
(le nombre de compartiments). Par conséquent, il est très important de ne pas définir la capacité initiale trop élevée (ou le facteur de charge trop faible) si les performances d’itération sont importantes.
<>notez que cette implémentation n’est pas synchronisée.</strong> Si plusieurs threads accèdent simultanément à un jeu de hachage et qu’au moins un des threads modifie le jeu, il doit être synchronisé en externe. Cela s’effectue généralement en synchronisant sur un objet qui encapsule naturellement l’ensemble.
S’il n’existe aucun objet de ce type, l’ensemble doit être « encapsulé » à l’aide de la Collections#synchronizedSet Collections.synchronizedSet
méthode. Cette opération est optimale au moment de la création pour empêcher l’accès non synchronisé accidentel au jeu :
Set s = Collections.synchronizedSet(new HashSet(...));
Les itérateurs retournés par la méthode de iterator
cette classe sont rapides : si l’ensemble est modifié à tout moment après la création de l’itérateur, sauf par le biais de la propre remove
méthode de 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.
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.
Cette classe est membre de Java Collections Framework.
Ajouté dans la version 1.2.
Documentation Java pour java.util.HashSet
.
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
HashSet() |
Construit un nouvel ensemble vide ; l’instance de stockage |
HashSet(ICollection) |
Construit un nouveau jeu contenant les éléments de la collection spécifiée. |
HashSet(Int32) |
Construit un nouvel ensemble vide ; l’instance de stockage |
HashSet(Int32, Single) |
Construit un nouvel ensemble vide ; l’instance de stockage |
HashSet(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 |
Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
IsEmpty |
À ajouter (Hérité de AbstractCollection) |
JniIdentityHashCode |
Cette classe implémente l’interface |
JniPeerMembers |
Cette classe implémente l’interface |
PeerReference |
Cette classe implémente l’interface |
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
Add(Object) |
À ajouter (Hérité de AbstractCollection) |
AddAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
Clear() |
À ajouter (Hérité de AbstractCollection) |
Clone() |
Retourne une copie superficielle de cette |
Contains(Object) |
À ajouter (Hérité de AbstractCollection) |
ContainsAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
Dispose() |
Cette classe implémente l’interface |
Dispose(Boolean) |
Cette classe implémente l’interface |
Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
Iterator() |
Retourne un itérateur sur les éléments de cet ensemble. |
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) |
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) |
Remove(Object) |
À ajouter (Hérité de AbstractCollection) |
RemoveAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
RetainAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
Size() |
Retourne le nombre d’éléments de cet ensemble (sa cardinalité). |
Spliterator() |
Crée une <>liaison em late-binding</em> et <em>fail-fast</em> |
ToArray() |
À ajouter (Hérité de AbstractCollection) |
ToArray(Object[]) |
À ajouter (Hérité de AbstractCollection) |
ToArray<T>() |
Cette classe implémente l’interface |
ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
UnregisterFromRuntime() |
Cette classe implémente l’interface |
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 l’interface |
IJavaPeerable.DisposeUnlessReferenced() |
Cette classe implémente l’interface |
IJavaPeerable.Finalized() |
Cette classe implémente l’interface |
IJavaPeerable.JniManagedPeerState |
Cette classe implémente l’interface |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Cette classe implémente l’interface |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Cette classe implémente l’interface |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Cette classe implémente l’interface |
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 l’interface |
GetJniTypeName(IJavaPeerable) |
Cette classe implémente l’interface |
ToEnumerable(IIterable) |
Cette classe implémente l’interface |
ToEnumerable<T>(IIterable) |
Cette classe implémente l’interface |