org.python.core

## Class BaseSet

- java.lang.Object
- - org.python.core.PyObject
  - - org.python.core.BaseSet

All Implemented Interfaces:
  java.io.Serializable, java.lang.Iterable, java.util.Collection, java.util.Set, Traverseproc

Direct Known Subclasses:
  PyFrozenSet, PySet

    public abstract class BaseSet
    extends PyObject
    implements java.util.Set, Traverseproc

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.python.core.PyObject

`PyObject.ConversionException`

### Field Summary

### Fields inherited from class org.python.core.PyObject

`gcMonitorGlobal, TYPE`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`PyObject` `__and__(PyObject other)` The intersection of the `this` with `other`.
`int` `__cmp__(PyObject other)` Equivalent to the standard Python __cmp__ method.
`boolean` `__contains__(PyObject other)` Equivalent to the standard Python __contains__ method.
`PyObject` `__eq__(PyObject other)` Equivalent to the standard Python __eq__ method.
`PyObject` `__ge__(PyObject other)` Equivalent to the standard Python __ge__ method.
`PyObject` `__gt__(PyObject other)` Equivalent to the standard Python __gt__ method.
`PyObject` `__iter__()` Produce an iterable object.
`PyObject` `__le__(PyObject other)` Equivalent to the standard Python __le__ method.
`int` `__len__()` The length of the set.
`PyObject` `__lt__(PyObject other)` Equivalent to the standard Python __lt__ method.
`PyObject` `__ne__(PyObject other)` Equivalent to the standard Python __ne__ method.
`boolean` `__nonzero__()` Determines if the instance is considered `true` by Python.
`PyObject` `__or__(PyObject other)` The union of `this` with `other`.
`PyObject` `__reduce__()` Used for pickling.
`PyObject` `__sub__(PyObject other)` The difference of the `this` with `other`.
`PyObject` `__xor__(PyObject other)` The symmetric difference of the `this` with `other`.
`boolean` `add(java.lang.Object o)`
`boolean` `addAll(java.util.Collection c)`
`void` `clear()`
`boolean` `contains(java.lang.Object o)`
`boolean` `containsAll(java.util.Collection c)`
`PyObject` `difference(PyObject other)`
`java.util.Set<PyObject>` `getSet()`
`abstract int` `hashCode()` The hashCode of the set.
`boolean` `isEmpty()`
`java.util.Iterator` `iterator()`
`boolean` `refersDirectlyTo(PyObject ob)` Optional operation.
`boolean` `remove(java.lang.Object o)`
`boolean` `removeAll(java.util.Collection c)`
`boolean` `retainAll(java.util.Collection c)`
`int` `size()`
`PyObject` `symmetric_difference(PyObject other)`
`java.lang.Object[]` `toArray()`
`java.lang.Object[]` `toArray(java.lang.Object[] a)`
`java.lang.String` `toString()`
`int` `traverse(Visitproc visit, java.lang.Object arg)` Traverses all directly contained `PyObject`s.

### Methods inherited from class org.python.core.PyObject

`__abs__, __add__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __coerce__, __coerce_ex__, __complex__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iternext__, __itruediv__, __ixor__, __long__, __lshift__, __mod__, __mul__, __neg__, __not__, __oct__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __tojava__, __truediv__, __trunc__, __unicode__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType`

### Methods inherited from class java.lang.Object

`equals, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Set

`equals, spliterator`

### Methods inherited from interface java.util.Collection

`parallelStream, removeIf, stream`

### Methods inherited from interface java.lang.Iterable

`forEach`

### Method Detail

#### getSet

    public java.util.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 `java.util.Collection`
Specified by:
  `hashCode` in interface `java.util.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 java.lang.String toString()

Overrides:
  `toString` in class `PyObject`

#### size

    public int size()

Specified by:
  `size` in interface `java.util.Collection`
Specified by:
  `size` in interface `java.util.Set`

#### clear

    public void clear()

Specified by:
  `clear` in interface `java.util.Collection`
Specified by:
  `clear` in interface `java.util.Set`

#### isEmpty

    public boolean isEmpty()

Specified by:
  `isEmpty` in interface `java.util.Collection`
Specified by:
  `isEmpty` in interface `java.util.Set`

#### add

    public boolean add(java.lang.Object o)

Specified by:
  `add` in interface `java.util.Collection`
Specified by:
  `add` in interface `java.util.Set`

#### contains

    public boolean contains(java.lang.Object o)

Specified by:
  `contains` in interface `java.util.Collection`
Specified by:
  `contains` in interface `java.util.Set`

#### remove

    public boolean remove(java.lang.Object o)

Specified by:
  `remove` in interface `java.util.Collection`
Specified by:
  `remove` in interface `java.util.Set`

#### addAll

    public boolean addAll(java.util.Collection c)

Specified by:
  `addAll` in interface `java.util.Collection`
Specified by:
  `addAll` in interface `java.util.Set`

#### containsAll

    public boolean containsAll(java.util.Collection c)

Specified by:
  `containsAll` in interface `java.util.Collection`
Specified by:
  `containsAll` in interface `java.util.Set`

#### removeAll

    public boolean removeAll(java.util.Collection c)

Specified by:
  `removeAll` in interface `java.util.Collection`
Specified by:
  `removeAll` in interface `java.util.Set`

#### retainAll

    public boolean retainAll(java.util.Collection c)

Specified by:
  `retainAll` in interface `java.util.Collection`
Specified by:
  `retainAll` in interface `java.util.Set`

#### iterator

    public java.util.Iterator iterator()

Specified by:
  `iterator` in interface `java.lang.Iterable`
Specified by:
  `iterator` in interface `java.util.Collection`
Specified by:
  `iterator` in interface `java.util.Set`

#### toArray

    public java.lang.Object[] toArray()

Specified by:
  `toArray` in interface `java.util.Collection`
Specified by:
  `toArray` in interface `java.util.Set`

#### toArray

    public java.lang.Object[] toArray(java.lang.Object[] a)

Specified by:
  `toArray` in interface `java.util.Collection`
Specified by:
  `toArray` in interface `java.util.Set`

#### traverse

    public int traverse(Visitproc visit,
                        java.lang.Object arg)

Description copied from interface: `Traverseproc`
Traverses all directly contained `PyObject`s. 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`