org.python.modules._collections

## Class PyDeque

- java.lang.Object
- - org.python.core.PyObject
  - - org.python.modules._collections.PyDeque

All Implemented Interfaces:
  java.io.Serializable

Direct Known Subclasses:
  PyDequeDerived

    public class PyDeque
    extends PyObject

PyDeque - This class implements the functionalities of Deque data structure. Deques are a generalization of stacks and queues (the name is pronounced 'deck' and is short for 'double-ended queue'). Deques support thread-safe, memory efficient appends and pops from either side of the deque with approximately the same O(1) performance in either direction. Though list objects support similar operations, they are optimized for fast fixed-length operations and incur O(n) memory movement costs for pop(0) and insert(0, v) operations which change both the size and position of the underlying data representation. collections.deque([iterable]) - returns a new deque object initialized left-to-right (using append()) with data from iterable. If iterable is not specified, the new deque is empty.

See Also:
  Serialized Form

### Nested Class Summary

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

`PyObject.ConversionException`

### Field Summary

Fields
`static PyType` `TYPE`

### Constructor Summary

Constructors
Constructor and Description
`PyDeque()`
`PyDeque(PyType subType)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `__delitem__(PyObject key)` Equivalent to the standard Python __delitem__ method.
`PyObject` `__eq__(PyObject o)` Equivalent to the standard Python __eq__ method.
`PyObject` `__finditem__(PyObject key)` Very similar to the standard Python __getitem__ method.
`PyObject` `__ge__(PyObject o)` Equivalent to the standard Python __ge__ method.
`PyObject` `__gt__(PyObject o)` Equivalent to the standard Python __gt__ method.
`PyObject` `__iter__()` Return an iterator that is used to iterate the element of this sequence.
`PyObject` `__le__(PyObject o)` Equivalent to the standard Python __le__ method.
`int` `__len__()` Equivalent to the standard Python __len__ method.
`PyObject` `__lt__(PyObject o)` Equivalent to the standard Python __lt__ method.
`PyObject` `__ne__(PyObject o)` Equivalent to the standard Python __ne__ method.
`boolean` `__nonzero__()` Equivalent to the standard Python __nonzero__ method.
`PyObject` `__reduce__()` Used for pickling.
`void` `__setitem__(PyObject index, PyObject value)` Equivalent to the standard Python __setitem__ method.
`int` `hashCode()`
`boolean` `isMappingType()`
`boolean` `isSequenceType()`
`java.lang.String` `toString()`

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

`__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __float__, __floordiv__, __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__, __or__, __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__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __unicode__, __xor__, _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, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isNumberType, noAttributeError, readonlyAttributeError, setDict, setType`

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

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

### Field Detail

#### TYPE

    public static final PyType TYPE

### Constructor Detail

#### PyDeque

    public PyDeque()

#### PyDeque

    public PyDeque(PyType subType)

### Method Detail

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `PyObject`

#### __len__

    public int __len__()

Description copied from class: `PyObject`
Equivalent to the standard Python __len__ method. Part of the mapping discipline.

Overrides:
  `__len__` in class `PyObject`
Returns:
  the length of the object

#### __nonzero__

    public boolean __nonzero__()

Description copied from class: `PyObject`
Equivalent to the standard Python __nonzero__ method. Returns whether of not a given `PyObject` is considered true.

Overrides:
  `__nonzero__` in class `PyObject`

#### __finditem__

    public PyObject __finditem__(PyObject key)

Description copied from class: `PyObject`
Very similar to the standard Python __getitem__ method. Instead of throwing a KeyError if the item isn't found, this just returns null. Classes that wish to implement __getitem__ should override this method instead (with the appropriate semantics.

Overrides:
  `__finditem__` in class `PyObject`
Parameters:
  `key` - the key to lookup in this container
Returns:
  the value corresponding to key or null if key is not found

#### __setitem__

    public void __setitem__(PyObject index,
                            PyObject value)

Description copied from class: `PyObject`
Equivalent to the standard Python __setitem__ method.

Overrides:
  `__setitem__` in class `PyObject`
Parameters:
  `index` - the key whose value will be set
  `value` - the value to set this key to

#### __delitem__

    public void __delitem__(PyObject key)

Description copied from class: `PyObject`
Equivalent to the standard Python __delitem__ method.

Overrides:
  `__delitem__` in class `PyObject`
Parameters:
  `key` - the key to be removed from the container

#### __iter__

    public PyObject __iter__()

Description copied from class: `PyObject`
Return an iterator that is used to iterate the element of this sequence. From version 2.2, this method is the primary protocol for looping over sequences.

If a PyObject subclass should support iteration based in the __finditem__() method, it must supply an implementation of __iter__() like this:

     public PyObject __iter__() {
         return new PySequenceIter(this);
     }

When iterating over a python sequence from java code, it should be done with code like this:

     for (PyObject item : seq.asIterable()) {
         // Do somting with item
     }

Overrides:
  `__iter__` in class `PyObject`

#### __eq__

    public PyObject __eq__(PyObject o)

Description copied from class: `PyObject`
Equivalent to the standard Python __eq__ method.

Overrides:
  `__eq__` in class `PyObject`
Parameters:
  `o` - the object to compare this with.
Returns:
  the result of the comparison.

#### __ne__

    public PyObject __ne__(PyObject o)

Description copied from class: `PyObject`
Equivalent to the standard Python __ne__ method.

Overrides:
  `__ne__` in class `PyObject`
Parameters:
  `o` - the object to compare this with.
Returns:
  the result of the comparison.

#### __lt__

    public PyObject __lt__(PyObject o)

Description copied from class: `PyObject`
Equivalent to the standard Python __lt__ method.

Overrides:
  `__lt__` in class `PyObject`
Parameters:
  `o` - the object to compare this with.
Returns:
  the result of the comparison.

#### __le__

    public PyObject __le__(PyObject o)

Description copied from class: `PyObject`
Equivalent to the standard Python __le__ method.

Overrides:
  `__le__` in class `PyObject`
Parameters:
  `o` - the object to compare this with.
Returns:
  the result of the comparison.

#### __gt__

    public PyObject __gt__(PyObject o)

Description copied from class: `PyObject`
Equivalent to the standard Python __gt__ method.

Overrides:
  `__gt__` in class `PyObject`
Parameters:
  `o` - the object to compare this with.
Returns:
  the result of the comparison.

#### __ge__

    public PyObject __ge__(PyObject o)

Description copied from class: `PyObject`
Equivalent to the standard Python __ge__ method.

Overrides:
  `__ge__` in class `PyObject`
Parameters:
  `o` - the object to compare this with.
Returns:
  the result of the comparison.

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `PyObject`

#### __reduce__

    public PyObject __reduce__()

Description copied from class: `PyObject`
Used for pickling. Default implementation calls object___reduce__.

Overrides:
  `__reduce__` in class `PyObject`
Returns:
  a tuple of (class, tuple)

#### isMappingType

    public boolean isMappingType()

Overrides:
  `isMappingType` in class `PyObject`

#### isSequenceType

    public boolean isSequenceType()

Overrides:
  `isSequenceType` in class `PyObject`