org.python.modules._collections
Class PyDeque

java.lang.Object
  extended by org.python.core.PyObject
      extended by org.python.modules._collections.PyDeque
All Implemented Interfaces:
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
static PyType TYPE
           
 
Constructor Summary
PyDeque()
           
PyDeque(PyType subType)
           
 
Method Summary
 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()
           
 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 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


Jython homepage