Packages

final class ZSet[+A, +B] extends AnyRef

A ZSet[A, B] is a set of A values where B represents some notion of "how many" A values are included in the set. This can be the number of times each element appears in the set if B is a natural number, the probability associated with an element in the set if B is a rational number, or even whether an element appears at all if B is a boolean.

Self Type
ZSet[A, B]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ZSet
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def &[A1 >: A, B1 >: B](that: ZSet[A1, B1])(implicit ev: Commutative[Min[B1]]): ZSet[A1, B1]

    A symbolic alias for intersect.

  2. def &~[A1 >: A, B1 >: B](that: ZSet[A1, B1])(implicit ev: Inverse[Sum[B1]]): ZSet[A1, B1]

    A symbolic alias for diff.

  3. def <*>[B1 >: B, C](that: ZSet[C, B1])(implicit ev: Commutative[Prod[B1]]): ZSet[(A, C), B1]

    A symbolic alias for zip.

  4. def <>[A1 >: A, B1 >: B](that: ZSet[A1, B1])(implicit ev: Commutative[Sum[B1]]): ZSet[A1, B1]

    A symbolic alias for combine.

  5. def apply[A1 >: A, B1 >: B](a: A1)(implicit ev: Identity[Sum[B1]]): B1

    Returns the number of times the specified element appears in the set.

  6. def combine[A1 >: A, B1 >: B](that: ZSet[A1, B1])(implicit ev: Commutative[Sum[B1]]): ZSet[A1, B1]

    Combines this set with the specified set to produce a new set where the number of times each element appears is the sum of the number of times it appears in this set and the specified set.

  7. def diff[A1 >: A, B1 >: B](that: ZSet[A1, B1])(implicit ev: Inverse[Sum[B1]]): ZSet[A1, B1]

    Combines this set with the specified set to produce a new set where the number of times each element appears is the difference between the number of times it appears in this set and the specified set.

  8. def equals(that: Any): Boolean

    Returns whether this set is equal to the specified set, meaning that the same elements appear in both sets the same number of times.

    Returns whether this set is equal to the specified set, meaning that the same elements appear in both sets the same number of times.

    Definition Classes
    ZSet → AnyRef → Any
  9. def flatMap[B1 >: B, C](f: (A) => ZSet[C, B1])(implicit ev1: Commutative[Sum[B1]], ev2: Commutative[Prod[B1]]): ZSet[C, B1]

    Creates a new set for each element in this set and combines the resulting sets together.

    Creates a new set for each element in this set and combines the resulting sets together. The number of times each element appears will be the sum of the products of the number of times it appeared in the original set and the number of times it appears in each new set.

  10. def forEach[G[+_], C](f: (A) => G[C])(implicit arg0: IdentityBoth[G], arg1: Covariant[G], ev: <:<[B, Natural]): G[MultiSet[C]]
  11. def hashCode(): Int

    Returns the hash code of this set.

    Returns the hash code of this set.

    Definition Classes
    ZSet → AnyRef → Any
  12. def intersect[A1 >: A, B1 >: B](that: ZSet[A1, B1])(implicit ev: Commutative[Min[B1]]): ZSet[A1, B1]

    Combines this set with the specified set to produce a new set where the number of times each element appears is the minimum of the number of times it appears in this set and the specified set.

  13. def map[B1 >: B, C](f: (A) => C)(implicit ev: Commutative[Sum[B1]]): ZSet[C, B1]

    Transforms the elements in the set using the specified function.

    Transforms the elements in the set using the specified function. If this results in mapping two or more elements to the same values, the number of times the new value appears in the set will be the sum of the number of times each of the old values appeared in the set.

  14. def toMap[A1 >: A]: Map[A1, B]

    Converts this set to a Map from elements to how many times they appear in the set.

  15. def toNonEmptyZSet: Option[ZNonEmptySet[A, B]]

    Converts this set to a non-empty one.

  16. def toSet[A1 >: A, B1 >: B](implicit ev1: Equal[B1], ev2: Identity[Sum[B1]]): Set[A1]

    Converts this set to a Set, discarding information about how many times an element appears in the set beyond whether it appears at all.

  17. def toString(): String

    Returns a meaningful string representation of this set.

    Returns a meaningful string representation of this set.

    Definition Classes
    ZSet → AnyRef → Any
  18. def transform[C](f: (B) => C): ZSet[A, C]

    Transforms the representation of how many times each element appears in the set with the specified function.

  19. def union[A1 >: A, B1 >: B](that: ZSet[A1, B1])(implicit ev: Commutative[Max[B1]]): ZSet[A1, B1]

    Combines this set with the specified set to produce a new set where the number of times each element appears is the maximum of the number of times it appears in this set and the specified set.

  20. def zip[B1 >: B, C](that: ZSet[C, B1])(implicit ev: Commutative[Prod[B1]]): ZSet[(A, C), B1]

    Combines this set with the specified set to produce their cartesian product.

  21. def zipWith[B1 >: B, C, D](that: ZSet[C, B1])(f: (A, C) => D)(implicit ev1: Commutative[Sum[B1]], ev2: Commutative[Prod[B1]]): ZSet[D, B1]

    Combines this set with the specified set to produce their cartesian product, combining pair of elements using the specified function f.

  22. def |[A1 >: A, B1 >: B](that: ZSet[A1, B1])(implicit ev1: Commutative[Max[B1]]): ZSet[A1, B1]

    A symbolic alias for union.