Class IndexFilter


  • public final class IndexFilter
    extends java.lang.Object
    A convenience class for Hasher implementations to filter out duplicate indices.

    If the index is negative the behavior is not defined.

    This is conceptually a unique filter implemented as an IntPredicate.

    Since:
    4.5.0-M1
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.function.IntPredicate create​(Shape shape, java.util.function.IntPredicate consumer)
      Creates an instance optimized for the specified shape.
      boolean test​(int number)
      Test if the number should be processed by the consumer.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • create

        public static java.util.function.IntPredicate create​(Shape shape,
                                                             java.util.function.IntPredicate consumer)
        Creates an instance optimized for the specified shape.
        Parameters:
        shape - The shape that is being generated.
        consumer - The consumer to accept the values.
        Returns:
        an IndexFilter optimized for the specified shape.
      • test

        public boolean test​(int number)
        Test if the number should be processed by the consumer.

        If the number has not been seen before it is passed to the consumer and the result returned. If the number has been seen before the consumer is not called and true returned.

        If the input is not in the range [0,size) an IndexOutOfBoundsException exception is thrown.

        Parameters:
        number - the number to check.
        Returns:
        true if processing should continue, false otherwise.