Package net.morimekta.util
Class StrongHashBuilder
- java.lang.Object
-
- net.morimekta.util.StrongHashBuilder
-
public class StrongHashBuilder extends java.lang.Object
Helper for making strong hash values. The hash output is 64bit int calculated from a base of large prime numbers. Note that this may be significantly more process intensive than ordinary hash.
-
-
Constructor Summary
Constructors Constructor Description StrongHashBuilder()
Create a strong hash builder.StrongHashBuilder(long initialValue, long valueMultiplier)
Create a strong hash builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StrongHashBuilder
add(boolean b)
StrongHashBuilder
add(boolean[] arr)
StrongHashBuilder
add(byte b)
StrongHashBuilder
add(byte[] arr)
StrongHashBuilder
add(char b)
StrongHashBuilder
add(char[] arr)
StrongHashBuilder
add(double b)
StrongHashBuilder
add(double[] arr)
StrongHashBuilder
add(float b)
StrongHashBuilder
add(float[] arr)
StrongHashBuilder
add(int b)
StrongHashBuilder
add(int[] arr)
StrongHashBuilder
add(long b)
StrongHashBuilder
add(long[] arr)
StrongHashBuilder
add(short b)
StrongHashBuilder
add(short[] arr)
StrongHashBuilder
add(java.lang.CharSequence c)
StrongHashBuilder
add(java.lang.Object o)
StrongHashBuilder
add(java.util.Collection c)
StrongHashBuilder
add(java.util.Map map)
StrongHashBuilder
add(StrongHashable o)
<T> StrongHashBuilder
add(T[] arr)
long
strongHash()
-
-
-
Constructor Detail
-
StrongHashBuilder
public StrongHashBuilder()
Create a strong hash builder.
-
StrongHashBuilder
public StrongHashBuilder(long initialValue, long valueMultiplier)
Create a strong hash builder.- Parameters:
initialValue
- The initial value. Recommended to be at least a 5-digit prime. This is the hash value if no data is inserted.valueMultiplier
- The value multiplier. This should be a prime number no less than 2^60.
-
-
Method Detail
-
add
public StrongHashBuilder add(boolean b)
-
add
public StrongHashBuilder add(byte b)
-
add
public StrongHashBuilder add(short b)
-
add
public StrongHashBuilder add(int b)
-
add
public StrongHashBuilder add(long b)
-
add
public StrongHashBuilder add(char b)
-
add
public StrongHashBuilder add(double b)
-
add
public StrongHashBuilder add(float b)
-
add
public StrongHashBuilder add(boolean[] arr)
-
add
public StrongHashBuilder add(byte[] arr)
-
add
public StrongHashBuilder add(short[] arr)
-
add
public StrongHashBuilder add(int[] arr)
-
add
public StrongHashBuilder add(long[] arr)
-
add
public StrongHashBuilder add(char[] arr)
-
add
public StrongHashBuilder add(float[] arr)
-
add
public StrongHashBuilder add(double[] arr)
-
add
public <T> StrongHashBuilder add(T[] arr)
-
add
public StrongHashBuilder add(java.lang.CharSequence c)
-
add
public StrongHashBuilder add(StrongHashable o)
-
add
public StrongHashBuilder add(java.util.Collection c)
-
add
public StrongHashBuilder add(java.util.Map map)
-
add
public StrongHashBuilder add(java.lang.Object o)
-
strongHash
public long strongHash()
-
-