final class Murmur3_32HashFunction extends AbstractStreamingHashFunction implements java.io.Serializable
| Modifier and Type | Class and Description |
|---|---|
private static class |
Murmur3_32HashFunction.Murmur3_32Hasher |
AbstractStreamingHashFunction.AbstractStreamingHasher| Modifier and Type | Field and Description |
|---|---|
private static int |
C1 |
private static int |
C2 |
private int |
seed |
private static long |
serialVersionUID |
| Constructor and Description |
|---|
Murmur3_32HashFunction(int seed) |
| Modifier and Type | Method and Description |
|---|---|
int |
bits()
Returns the number of bits (a multiple of 32) that each hash code produced by this hash
function has.
|
boolean |
equals(java.lang.Object object) |
private static HashCode |
fmix(int h1,
int length) |
int |
hashCode() |
HashCode |
hashInt(int input)
Shortcut for
newHasher().putInt(input).hash(); returns the hash code for the given
int value, interpreted in little-endian byte order. |
HashCode |
hashLong(long input)
Shortcut for
newHasher().putLong(input).hash(); returns the hash code for the given
long value, interpreted in little-endian byte order. |
HashCode |
hashUnencodedChars(java.lang.CharSequence input)
Shortcut for
newHasher().putUnencodedChars(input).hash(). |
private static int |
mixH1(int h1,
int k1) |
private static int |
mixK1(int k1) |
Hasher |
newHasher()
Begins a new hash code computation by returning an initialized, stateful
Hasher instance that is ready to receive data. |
java.lang.String |
toString() |
hashBytes, hashBytes, hashObject, hashString, newHasherprivate static final int C1
private static final int C2
private final int seed
private static final long serialVersionUID
public int bits()
HashFunctionbits in interface HashFunctionpublic Hasher newHasher()
HashFunctionHasher instance that is ready to receive data. Example:
HashFunction hf = Hashing.md5();
HashCode hc = hf.newHasher()
.putLong(id)
.putBoolean(isActive)
.hash();newHasher in interface HashFunctionpublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(@Nullable
java.lang.Object object)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic HashCode hashInt(int input)
HashFunctionnewHasher().putInt(input).hash(); returns the hash code for the given
int value, interpreted in little-endian byte order. The implementation might
perform better than its longhand equivalent, but should not perform worse.hashInt in interface HashFunctionhashInt in class AbstractStreamingHashFunctionpublic HashCode hashLong(long input)
HashFunctionnewHasher().putLong(input).hash(); returns the hash code for the given
long value, interpreted in little-endian byte order. The implementation might
perform better than its longhand equivalent, but should not perform worse.hashLong in interface HashFunctionhashLong in class AbstractStreamingHashFunctionpublic HashCode hashUnencodedChars(java.lang.CharSequence input)
HashFunctionnewHasher().putUnencodedChars(input).hash(). The implementation
might perform better than its longhand equivalent, but should not perform worse. Note
that no character encoding is performed; the low byte and high byte of each char are
hashed directly (in that order).
Warning: This method will produce different output than most other languages do when
running the same hash function on the equivalent input. For cross-language compatibility, use
HashFunction.hashString(java.lang.CharSequence, java.nio.charset.Charset), usually with a charset of UTF-8. For other use cases, use hashUnencodedChars.
hashUnencodedChars in interface HashFunctionhashUnencodedChars in class AbstractStreamingHashFunctionprivate static int mixK1(int k1)
private static int mixH1(int h1,
int k1)
private static HashCode fmix(int h1, int length)