Class BaseSet

All Implemented Interfaces:
Serializable, Iterable, Collection, Set, Traverseproc
Direct Known Subclasses:
PyFrozenSet, PySet

public abstract class BaseSet extends PyObject implements Set, Traverseproc
See Also:
  • Method Details

    • getSet

      public Set<PyObject> getSet()
    • __or__

      public PyObject __or__(PyObject other)
      The union of this with other.

      (I.e. all elements that are in either set)

      Overrides:
      __or__ in class PyObject
      Parameters:
      other - A BaseSet instance.
      Returns:
      The union of the two sets as a new set.
    • __and__

      public PyObject __and__(PyObject other)
      The intersection of the this with other.

      (I.e. all elements that are in both sets)

      Overrides:
      __and__ in class PyObject
      Parameters:
      other - A BaseSet instance.
      Returns:
      The intersection of the two sets as a new set.
    • __sub__

      public PyObject __sub__(PyObject other)
      The difference of the this with other.

      (I.e. all elements that are in this set and not in the other)

      Overrides:
      __sub__ in class PyObject
      Parameters:
      other - A BaseSet instance.
      Returns:
      The difference of the two sets as a new set.
    • difference

      public PyObject difference(PyObject other)
    • __xor__

      public PyObject __xor__(PyObject other)
      The symmetric difference of the this with other.

      (I.e. all elements that are in exactly one of the sets)

      Overrides:
      __xor__ in class PyObject
      Parameters:
      other - A BaseSet instance.
      Returns:
      The symmetric difference of the two sets as a new set.
    • symmetric_difference

      public PyObject symmetric_difference(PyObject other)
    • hashCode

      public abstract int hashCode()
      The hashCode of the set. Only immutable instances can be hashed.
      Specified by:
      hashCode in interface Collection
      Specified by:
      hashCode in interface Set
      Overrides:
      hashCode in class PyObject
      Returns:
      The hashCode of the set.
    • __len__

      public int __len__()
      The length of the set.
      Overrides:
      __len__ in class PyObject
      Returns:
      The length of the set.
    • __nonzero__

      public boolean __nonzero__()
      Determines if the instance is considered true by Python. This implementation returns true if the set is not empty.
      Overrides:
      __nonzero__ in class PyObject
      Returns:
      true if the set is not empty, false otherwise
    • __iter__

      public PyObject __iter__()
      Produce an iterable object.
      Overrides:
      __iter__ in class PyObject
      Returns:
      An iteration of the set.
    • __contains__

      public boolean __contains__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __contains__ method.
      Overrides:
      __contains__ in class PyObject
      Parameters:
      other - the element to search for in this container.
      Returns:
      the result of the search.
    • __cmp__

      public int __cmp__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __cmp__ method.
      Overrides:
      __cmp__ in class PyObject
      Parameters:
      other - the object to compare this with.
      Returns:
      -1 if this<o; 0 if this==o; +1 if this>o; -2 if no comparison is implemented
    • __eq__

      public PyObject __eq__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __eq__ method.
      Overrides:
      __eq__ in class PyObject
      Parameters:
      other - the object to compare this with.
      Returns:
      the result of the comparison.
    • __ne__

      public PyObject __ne__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __ne__ method.
      Overrides:
      __ne__ in class PyObject
      Parameters:
      other - the object to compare this with.
      Returns:
      the result of the comparison.
    • __le__

      public PyObject __le__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __le__ method.
      Overrides:
      __le__ in class PyObject
      Parameters:
      other - the object to compare this with.
      Returns:
      the result of the comparison.
    • __ge__

      public PyObject __ge__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __ge__ method.
      Overrides:
      __ge__ in class PyObject
      Parameters:
      other - the object to compare this with.
      Returns:
      the result of the comparison.
    • __lt__

      public PyObject __lt__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __lt__ method.
      Overrides:
      __lt__ in class PyObject
      Parameters:
      other - the object to compare this with.
      Returns:
      the result of the comparison.
    • __gt__

      public PyObject __gt__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __gt__ method.
      Overrides:
      __gt__ in class PyObject
      Parameters:
      other - the object to compare this with.
      Returns:
      the result of the comparison.
    • __reduce__

      public PyObject __reduce__()
      Used for pickling. Uses the module setsfactory to export safe constructors.
      Overrides:
      __reduce__ in class PyObject
      Returns:
      a tuple of (constructor, (elements))
    • toString

      public String toString()
      Overrides:
      toString in class PyObject
    • size

      public int size()
      Specified by:
      size in interface Collection
      Specified by:
      size in interface Set
    • clear

      public void clear()
      Specified by:
      clear in interface Collection
      Specified by:
      clear in interface Set
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Collection
      Specified by:
      isEmpty in interface Set
    • add

      public boolean add(Object o)
      Specified by:
      add in interface Collection
      Specified by:
      add in interface Set
    • contains

      public boolean contains(Object o)
      Specified by:
      contains in interface Collection
      Specified by:
      contains in interface Set
    • remove

      public boolean remove(Object o)
      Specified by:
      remove in interface Collection
      Specified by:
      remove in interface Set
    • addAll

      public boolean addAll(Collection c)
      Specified by:
      addAll in interface Collection
      Specified by:
      addAll in interface Set
    • containsAll

      public boolean containsAll(Collection c)
      Specified by:
      containsAll in interface Collection
      Specified by:
      containsAll in interface Set
    • removeAll

      public boolean removeAll(Collection c)
      Specified by:
      removeAll in interface Collection
      Specified by:
      removeAll in interface Set
    • retainAll

      public boolean retainAll(Collection c)
      Specified by:
      retainAll in interface Collection
      Specified by:
      retainAll in interface Set
    • iterator

      public Iterator iterator()
      Specified by:
      iterator in interface Collection
      Specified by:
      iterator in interface Iterable
      Specified by:
      iterator in interface Set
    • toArray

      public Object[] toArray()
      Specified by:
      toArray in interface Collection
      Specified by:
      toArray in interface Set
    • toArray

      public Object[] toArray(Object[] a)
      Specified by:
      toArray in interface Collection
      Specified by:
      toArray in interface Set
    • traverse

      public int traverse(Visitproc visit, Object arg)
      Description copied from interface: Traverseproc
      Traverses all directly contained PyObjects. Like in CPython, arg must be passed unmodified to visit as its second parameter. If Visitproc.visit(PyObject, Object) returns nonzero, this return value must be returned immediately by traverse. Visitproc.visit(PyObject, Object) must not be called with a null PyObject-argument.
      Specified by:
      traverse in interface Traverseproc
    • refersDirectlyTo

      public boolean refersDirectlyTo(PyObject ob)
      Description copied from interface: Traverseproc
      Optional operation. Should only be implemented if it is more efficient than calling Traverseproc.traverse(Visitproc, Object) with a visitproc that just watches out for ob. Must return false if ob is null.
      Specified by:
      refersDirectlyTo in interface Traverseproc