Bloom filters also can be used to approximate the size of the intersection and union of two sets.
HyperLogLog (and variants) can do the union part as well, and need much less space than Bloom filters thought. For large sets, that is. For cardinality smaller than e.g. 100, Bloom filters are better.
Also another alternative is Theta datasketches.