Class SetOperations

java.lang.Object
org.apache.commons.collections4.bloomfilter.SetOperations

public final class SetOperations extends Object
Implementations of set operations on BitMapProducers.
Since:
4.5
  • Method Details

    • andCardinality

      public static int andCardinality(BitMapProducer first, BitMapProducer second)
      Calculates the cardinality of the logical AND of the bit maps for the two filters.
      Parameters:
      first - the first BitMapProducer.
      second - the second BitMapProducer
      Returns:
      the cardinality of the AND of the filters.
    • cardinality

      public static int cardinality(BitMapProducer producer)
      Calculates the cardinality of a BitMapProducer. By necessity this method will visit each bit map created by the producer.
      Parameters:
      producer - the Producer to calculate the cardinality for.
      Returns:
      the cardinality of the bit maps produced by the producer.
    • cosineDistance

      public static double cosineDistance(BitMapProducer first, BitMapProducer second)
      Calculates the Cosine distance between two BitMapProducer.

      Cosine distance is defined as 1 - Cosine similarity

      Parameters:
      first - the first BitMapProducer.
      second - the second BitMapProducer.
      Returns:
      the jaccard distance.
    • cosineSimilarity

      public static double cosineSimilarity(BitMapProducer first, BitMapProducer second)
      Calculates the Cosine similarity between two BitMapProducers.

      Also known as Orchini similarity and the Tucker coefficient of congruence or Ochiai similarity.

      If either producer is empty the result is 0 (zero)

      Parameters:
      first - the first BitMapProducer.
      second - the second BitMapProducer.
      Returns:
      the Cosine similarity.
    • cosineSimilarity

      public static double cosineSimilarity(BloomFilter first, BloomFilter second)
      Calculates the Cosine similarity between two Bloom filters.

      Also known as Orchini similarity and the Tucker coefficient of congruence or Ochiai similarity.

      If either filter is empty (no enabled bits) the result is 0 (zero)

      This is a version of cosineSimilarity optimized for Bloom filters.

      Parameters:
      first - the first Bloom filter.
      second - the second Bloom filter.
      Returns:
      the Cosine similarity.
    • hammingDistance

      public static int hammingDistance(BitMapProducer first, BitMapProducer second)
      Calculates the Hamming distance between two BitMapProducers.
      Parameters:
      first - the first BitMapProducer.
      second - the second BitMapProducer.
      Returns:
      the Hamming distance.
    • jaccardDistance

      public static double jaccardDistance(BitMapProducer first, BitMapProducer second)
      Calculates the Jaccard distance between two BitMapProducer.

      Jaccard distance is defined as 1 - Jaccard similarity

      Parameters:
      first - the first BitMapProducer.
      second - the second BitMapProducer.
      Returns:
      the Jaccard distance.
    • jaccardSimilarity

      public static double jaccardSimilarity(BitMapProducer first, BitMapProducer second)
      Calculates the Jaccard similarity between two BitMapProducer.

      Also known as Jaccard index, Intersection over Union, and Jaccard similarity coefficient

      Parameters:
      first - the first BitMapProducer.
      second - the second BitMapProducer.
      Returns:
      the Jaccard similarity.
    • orCardinality

      public static int orCardinality(BitMapProducer first, BitMapProducer second)
      Calculates the cardinality of the logical OR of the bit maps for the two filters.
      Parameters:
      first - the first BitMapProducer.
      second - the second BitMapProducer
      Returns:
      the cardinality of the OR of the filters.
    • xorCardinality

      public static int xorCardinality(BitMapProducer first, BitMapProducer second)
      Calculates the cardinality of the logical XOR of the bit maps for the two filters.
      Parameters:
      first - the first BitMapProducer.
      second - the second BitMapProducer
      Returns:
      the cardinality of the XOR of the filters.