Package org.python.core

# Class BaseSet

java.lang.Object
org.python.core.PyObject
org.python.core.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:
  - 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

Modifier and Type
Method
Description
`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(Object o)`
`boolean`
`addAll(Collection c)`
`void`
`clear()`
`boolean`
`contains(Object o)`
`boolean`
`containsAll(Collection c)`
`PyObject`
`difference(PyObject other)`
`Set<PyObject>`
`getSet()`
`abstract int`
`hashCode()`
The hashCode of the set.
`boolean`
`isEmpty()`
`Iterator`
`iterator()`
`boolean`
`refersDirectlyTo(PyObject ob)`
Optional operation.
`boolean`
`remove(Object o)`
`boolean`
`removeAll(Collection c)`
`boolean`
`retainAll(Collection c)`
`int`
`size()`
`PyObject`
`symmetric_difference(PyObject other)`
`Object[]`
`toArray()`
`Object[]`
`toArray(Object[] a)`
`String`
`toString()`
`int`
`traverse(Visitproc visit, 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

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

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

`parallelStream, removeIf, stream, toArray`

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

`forEach`

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

`equals, spliterator`

## 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 `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`