Package org.python.core
Class PyList
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.PySequence
-
- org.python.core.PySequenceList
-
- org.python.core.PyList
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable
,java.util.Collection
,java.util.List
,Traverseproc
- Direct Known Subclasses:
PyListDerived
public class PyList extends PySequenceList
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
-
Field Summary
Fields Modifier and Type Field Description int
gListAllocatedStatus
static PyType
TYPE
-
Fields inherited from class org.python.core.PyObject
gcMonitorGlobal
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PyObject
__add__(PyObject o)
Equivalent to the standard Python __add__ method.PyTuple
__getnewargs__()
PyObject
__iadd__(PyObject o)
Equivalent to the standard Python __iadd__ method.PyObject
__imul__(PyObject o)
Equivalent to the standard Python __imul__ method.PyObject
__iter__()
Return an iterator that is used to iterate the element of this sequence.int
__len__()
Equivalent to the standard Python __len__ method.PyObject
__mul__(PyObject o)
Equivalent to the standard Python __mul__ method.PyObject
__radd__(PyObject o)
Equivalent to the standard Python __radd__ method.PyIterator
__reversed__()
PyObject
__rmul__(PyObject o)
Equivalent to the standard Python __rmul__ method.void
add(int index, java.lang.Object element)
boolean
add(java.lang.Object o)
boolean
addAll(int index, java.util.Collection c)
boolean
addAll(java.util.Collection c)
void
append(PyObject o)
Add a single element to the end of list.void
clear()
boolean
contains(java.lang.Object o)
boolean
containsAll(java.util.Collection c)
int
count(PyObject o)
Return the number elements in the list that equals the argument.boolean
equals(java.lang.Object other)
Should almost never be overridden.void
extend(PyObject o)
Append the elements in the argument sequence to the end of the list.static PyList
fromList(java.util.List<PyObject> list)
java.lang.Object
get(int index)
PyObject[]
getArray()
Get the backing array.int
hashCode()
int
index(PyObject o)
return smallest index where an element in the list equals the argument.int
index(PyObject o, int start)
int
index(PyObject o, int start, int stop)
int
indexOf(java.lang.Object o)
void
insert(int index, PyObject o)
Insert the argument element into the list at the specified index.boolean
isEmpty()
java.util.Iterator<java.lang.Object>
iterator()
int
lastIndexOf(java.lang.Object o)
java.util.ListIterator
listIterator()
java.util.ListIterator
listIterator(int index)
PyObject
pop()
Removes and return the last element in the list.PyObject
pop(int n)
Removes and return then
indexed element in the list.void
pyadd(int index, PyObject element)
boolean
pyadd(PyObject o)
PyObject
pyget(int index)
void
pyset(int index, PyObject element)
boolean
refersDirectlyTo(PyObject ob)
Optional operation.java.lang.Object
remove(int index)
void
remove(int start, int stop)
boolean
remove(java.lang.Object o)
void
remove(PyObject o)
Remove the first occurence of the argument from the list.boolean
removeAll(java.util.Collection c)
boolean
retainAll(java.util.Collection c)
void
reverse()
Reverses the items of s in place.java.lang.Object
set(int index, java.lang.Object element)
int
size()
void
sort()
void
sort(PyObject compare)
void
sort(PyObject cmp, PyObject key, PyObject reverse)
java.util.List
subList(int fromIndex, int toIndex)
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 containedPyObject
s.-
Methods inherited from class org.python.core.PySequence
__delitem__, __delslice__, __eq__, __finditem__, __finditem__, __ge__, __getitem__, __getslice__, __gt__, __le__, __lt__, __ne__, __nonzero__, __setitem__, __setitem__, __setslice__, __tojava__, isMappingType, isNumberType, isSequenceType
-
Methods inherited from class org.python.core.PyObject
__abs__, __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__, __dir__, __div__, __divmod__, __ensure_finalizer__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __float__, __floordiv__, __format__, __get__, __getattr__, __getattr__, __getitem__, __getslice__, __hash__, __hex__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iternext__, __itruediv__, __ixor__, __long__, __lshift__, __mod__, __neg__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setslice__, __str__, __sub__, __truediv__, __trunc__, __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, bit_length, conjugate, delDict, delType, dispatch__init__, fastGetClass, fastGetDict, getDict, getType, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType
-
-
-
-
Field Detail
-
TYPE
public static final PyType TYPE
-
gListAllocatedStatus
public volatile int gListAllocatedStatus
-
-
Constructor Detail
-
PyList
public PyList()
-
PyList
public PyList(PyType type)
-
PyList
public PyList(PyType type, java.util.Collection c)
-
PyList
public PyList(PyObject[] elements)
-
PyList
public PyList(java.util.Collection c)
-
PyList
public PyList(PyObject o)
-
PyList
public PyList(java.util.Iterator<PyObject> iter)
-
-
Method Detail
-
__len__
public int __len__()
Description copied from class:PyObject
Equivalent to the standard Python __len__ method. Part of the mapping discipline.
-
__imul__
public PyObject __imul__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __imul__ method.
-
__mul__
public PyObject __mul__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __mul__ method.
-
__rmul__
public PyObject __rmul__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __rmul__ method.
-
__add__
public PyObject __add__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __add__ method.
-
__radd__
public PyObject __radd__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __radd__ method.
-
__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 classPySequence
-
__reversed__
public PyIterator __reversed__()
-
toString
public java.lang.String toString()
- Specified by:
toString
in classPySequenceList
-
append
public void append(PyObject o)
Add a single element to the end of list.- Parameters:
o
- the element to add.
-
count
public int count(PyObject o)
Return the number elements in the list that equals the argument.- Parameters:
o
- the argument to test for. Testing is done with the==
operator.
-
index
public int index(PyObject o)
return smallest index where an element in the list equals the argument.- Parameters:
o
- the argument to test for. Testing is done with the==
operator.
-
index
public int index(PyObject o, int start)
-
index
public int index(PyObject o, int start, int stop)
-
insert
public void insert(int index, PyObject o)
Insert the argument element into the list at the specified index.
Same ass[index:index] = [o] if index >= 0
.- Parameters:
index
- the position where the element will be inserted.o
- the element to insert.
-
remove
public void remove(PyObject o)
Remove the first occurence of the argument from the list. The elements arecompared with the==
operator.
Same asdel s[s.index(x)]
- Parameters:
o
- the element to search for and remove.
-
reverse
public void reverse()
Reverses the items of s in place. The reverse() methods modify the list in place for economy of space when reversing a large list. It doesn't return the reversed list to remind you of this side effect.
-
pop
public PyObject pop()
Removes and return the last element in the list.
-
pop
public PyObject pop(int n)
Removes and return then
indexed element in the list.- Parameters:
n
- the index of the element to remove and return.
-
extend
public void extend(PyObject o)
Append the elements in the argument sequence to the end of the list.
Same ass[len(s):len(s)] = o
.- Parameters:
o
- the sequence of items to append to the list.
-
__iadd__
public PyObject __iadd__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __iadd__ method.
-
sort
public void sort()
-
sort
public void sort(PyObject compare)
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Collection
- Specified by:
hashCode
in interfacejava.util.List
- Specified by:
hashCode
in classPySequenceList
-
__getnewargs__
public PyTuple __getnewargs__()
- Overrides:
__getnewargs__
in classPyObject
-
add
public void add(int index, java.lang.Object element)
- Specified by:
add
in interfacejava.util.List
- Specified by:
add
in classPySequenceList
-
add
public boolean add(java.lang.Object o)
- Specified by:
add
in interfacejava.util.Collection
- Specified by:
add
in interfacejava.util.List
- Specified by:
add
in classPySequenceList
-
addAll
public boolean addAll(int index, java.util.Collection c)
- Specified by:
addAll
in interfacejava.util.List
- Specified by:
addAll
in classPySequenceList
-
addAll
public boolean addAll(java.util.Collection c)
- Specified by:
addAll
in interfacejava.util.Collection
- Specified by:
addAll
in interfacejava.util.List
- Specified by:
addAll
in classPySequenceList
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Collection
- Specified by:
clear
in interfacejava.util.List
- Specified by:
clear
in classPySequenceList
-
contains
public boolean contains(java.lang.Object o)
- Specified by:
contains
in interfacejava.util.Collection
- Specified by:
contains
in interfacejava.util.List
- Specified by:
contains
in classPySequenceList
-
containsAll
public boolean containsAll(java.util.Collection c)
- Specified by:
containsAll
in interfacejava.util.Collection
- Specified by:
containsAll
in interfacejava.util.List
- Specified by:
containsAll
in classPySequenceList
-
equals
public boolean equals(java.lang.Object other)
Description copied from class:PyObject
Should almost never be overridden. If overridden, it is the subclasses responsibility to ensure thata.equals(b) == true
iffcmp(a,b) == 0
- Specified by:
equals
in interfacejava.util.Collection
- Specified by:
equals
in interfacejava.util.List
- Specified by:
equals
in classPySequenceList
-
get
public java.lang.Object get(int index)
- Specified by:
get
in interfacejava.util.List
- Specified by:
get
in classPySequenceList
-
getArray
public PyObject[] getArray()
Description copied from class:PySequenceList
Get the backing array. The array should not be modified. To get a copy of the array, seePySequenceList.toArray()
.- Specified by:
getArray
in classPySequenceList
-
indexOf
public int indexOf(java.lang.Object o)
- Specified by:
indexOf
in interfacejava.util.List
- Specified by:
indexOf
in classPySequenceList
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Collection
- Specified by:
isEmpty
in interfacejava.util.List
- Specified by:
isEmpty
in classPySequenceList
-
iterator
public java.util.Iterator<java.lang.Object> iterator()
- Specified by:
iterator
in interfacejava.util.Collection
- Specified by:
iterator
in interfacejava.lang.Iterable
- Specified by:
iterator
in interfacejava.util.List
- Specified by:
iterator
in classPySequenceList
-
lastIndexOf
public int lastIndexOf(java.lang.Object o)
- Specified by:
lastIndexOf
in interfacejava.util.List
- Specified by:
lastIndexOf
in classPySequenceList
-
listIterator
public java.util.ListIterator listIterator()
- Specified by:
listIterator
in interfacejava.util.List
- Specified by:
listIterator
in classPySequenceList
-
listIterator
public java.util.ListIterator listIterator(int index)
- Specified by:
listIterator
in interfacejava.util.List
- Specified by:
listIterator
in classPySequenceList
-
pyadd
public void pyadd(int index, PyObject element)
- Specified by:
pyadd
in classPySequenceList
-
pyadd
public boolean pyadd(PyObject o)
- Specified by:
pyadd
in classPySequenceList
-
pyget
public PyObject pyget(int index)
- Specified by:
pyget
in classPySequenceList
-
pyset
public void pyset(int index, PyObject element)
- Specified by:
pyset
in classPySequenceList
-
remove
public java.lang.Object remove(int index)
- Specified by:
remove
in interfacejava.util.List
- Specified by:
remove
in classPySequenceList
-
remove
public void remove(int start, int stop)
- Specified by:
remove
in classPySequenceList
-
removeAll
public boolean removeAll(java.util.Collection c)
- Specified by:
removeAll
in interfacejava.util.Collection
- Specified by:
removeAll
in interfacejava.util.List
- Specified by:
removeAll
in classPySequenceList
-
retainAll
public boolean retainAll(java.util.Collection c)
- Specified by:
retainAll
in interfacejava.util.Collection
- Specified by:
retainAll
in interfacejava.util.List
- Specified by:
retainAll
in classPySequenceList
-
set
public java.lang.Object set(int index, java.lang.Object element)
- Specified by:
set
in interfacejava.util.List
- Specified by:
set
in classPySequenceList
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection
- Specified by:
size
in interfacejava.util.List
- Specified by:
size
in classPySequenceList
-
subList
public java.util.List subList(int fromIndex, int toIndex)
- Specified by:
subList
in interfacejava.util.List
- Specified by:
subList
in classPySequenceList
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArray
in interfacejava.util.Collection
- Specified by:
toArray
in interfacejava.util.List
- Specified by:
toArray
in classPySequenceList
-
toArray
public java.lang.Object[] toArray(java.lang.Object[] a)
- Specified by:
toArray
in interfacejava.util.Collection
- Specified by:
toArray
in interfacejava.util.List
- Specified by:
toArray
in classPySequenceList
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
remove
in interfacejava.util.Collection
- Specified by:
remove
in interfacejava.util.List
- Specified by:
remove
in classPySequenceList
-
traverse
public int traverse(Visitproc visit, java.lang.Object arg)
Description copied from interface:Traverseproc
Traverses all directly containedPyObject
s. Like in CPython,arg
must be passed unmodified tovisit
as its second parameter. IfVisitproc.visit(PyObject, Object)
returns nonzero, this return value must be returned immediately by traverse.Visitproc.visit(PyObject, Object)
must not be called with anull
PyObject-argument.- Specified by:
traverse
in interfaceTraverseproc
- Overrides:
traverse
in classPySequenceList
-
refersDirectlyTo
public boolean refersDirectlyTo(PyObject ob)
Description copied from interface:Traverseproc
Optional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)
with a visitproc that just watches out forob
. Must returnfalse
ifob
isnull
.- Specified by:
refersDirectlyTo
in interfaceTraverseproc
- Overrides:
refersDirectlyTo
in classPySequenceList
-
-