Package ucar.unidata.util
Class HashCodeUtils
java.lang.Object
ucar.unidata.util.HashCodeUtils
Taken from http://www.javapractices.com/Topic28.cjp.
Collected methods which allow easy implementation of hashCode.
Example use case.
public int hashCode(){
int result = HashCodeUtil.SEED;
//collect the contributions of various fields
result = HashCodeUtil.hash(result, fPrimitive);
result = HashCodeUtil.hash(result, fObject);
result = HashCodeUtil.hash(result, fArray);
return result;
}
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAn initial value for ahashCode, to which is added contributions from fields. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic inthash(int aSeed, boolean aBoolean) booleans.static inthash(int aSeed, char aChar) chars.static inthash(int aSeed, double aDouble) doubles.static inthash(int aSeed, float aFloat) floats.static inthash(int aSeed, int aInt) ints.static inthash(int aSeed, long aLong) longs.
-
Field Details
-
SEED
public static final int SEEDAn initial value for ahashCode, to which is added contributions from fields. Using a non-zero value decreases collisons ofhashCodevalues.- See Also:
-
-
Constructor Details
-
HashCodeUtils
public HashCodeUtils()
-
-
Method Details
-
hash
public static int hash(int aSeed, boolean aBoolean) booleans.- Parameters:
aSeed- _more_aBoolean- _more_- Returns:
- _more_
-
hash
public static int hash(int aSeed, char aChar) chars.- Parameters:
aSeed- _more_aChar- _more_- Returns:
- _more_
-
hash
public static int hash(int aSeed, int aInt) ints.- Parameters:
aSeed- _more_aInt- _more_- Returns:
- _more_
-
hash
public static int hash(int aSeed, long aLong) longs.- Parameters:
aSeed- _more_aLong- _more_- Returns:
- _more_
-
hash
public static int hash(int aSeed, float aFloat) floats.- Parameters:
aSeed- _more_aFloat- _more_- Returns:
- _more_
-
hash
public static int hash(int aSeed, double aDouble) doubles.- Parameters:
aSeed- _more_aDouble- _more_- Returns:
- _more_
-