|
![]() |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectargutia.tools.HashCodes
public abstract class HashCodes
Classe dédiée au calcul des hash codes.
Les tables de hachage (HashMap
ou
HashSet
) permettent une insertion et une recherche d'élément en temps constant, défiant
toute concurrence. Mais ces performances ne sont accessibles que si ces éléments (ou la clef qui
leur est associée) sont dotés d'une fonction de hachage limitant
les collisions tout en ayant une complexité réduite.
Une collision a lieu lorsque cette
fonction retourne le même hash code pour deux clefs/éléments différents. Elles sont
généralement résolues par des méthodes de recherche linéraire, réduisant alors les performances
des tables de hachage.
Field Summary | |
---|---|
private static Random |
GENERATOR
Générateur de nombre pseudo-aléatoires. |
static int |
SEED
Valeur initiale des hash codes. |
Constructor Summary | |
---|---|
private |
HashCodes()
Cette classe n'a pas vocation à être sous-classée ou instanciée. |
Method Summary | |
---|---|
static int |
hash()
Retourne un entier pseudo-aléatoire |
static <E> int |
hash(Iterable<E> collection)
Calcule le hash code de la collection spécifiée en multipliant entre eux les hash codes de chacun de ses éléments. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final Random GENERATOR
hash()
.public static final int SEED
37
Constructor Detail |
---|
private HashCodes()
Method Detail |
---|
public static int hash()
SyntacticUnit.hashCode
et
NegativeLiteral.hashCode
false
pour deux instances distinctes.public static <E> int hash(Iterable<E> collection)
int hashCode = HashCodes.SEED; for (E element : collection) { hashCode *= element.hashCode(); } return hashCode;
SyntacticUnit.hashCode
) :
hashCode = HashCodes.hash();
E
- type des éléments contenus dans la collection spécifiées.collection
- collection pour laquelle on souhaite calculer le hash code.
|
![]() |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |