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 int
An initial value for ahashCode
, to which is added contributions from fields. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int
hash
(int aSeed, boolean aBoolean) booleans.static int
hash
(int aSeed, char aChar) chars.static int
hash
(int aSeed, double aDouble) doubles.static int
hash
(int aSeed, float aFloat) floats.static int
hash
(int aSeed, int aInt) ints.static int
hash
(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 ofhashCode
values.- 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_
-