All Downloads are FREE. Search and download functionalities are using the official Maven repository.

stream.counter.hashing.SimpleHashFactory Maven / Gradle / Ivy

package stream.counter.hashing;

import java.io.Serializable;
import java.util.Random;

/**
 * 

* * @author Marcin Skirzynski */ public class SimpleHashFactory implements HashFunctionFactory{ /** The unique class ID */ private static final long serialVersionUID = 1893281035106218246L; private Random random = new Random(); @Override public HashFunction build(final long domain) { return new SimpleHash(domain); } public class SimpleHash implements HashFunction, Serializable { /** The unique class ID */ private static final long serialVersionUID = -946774756839033767L; private long domain; public SimpleHash(long domain) { this.domain = domain; } @Override public long computeHash(T x) { return Math.abs((x.hashCode()*random.nextInt())%domain); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy