Class PyList

All Implemented Interfaces:
Serializable, Iterable, Collection, List, Traverseproc
Direct Known Subclasses:
PyListDerived

public class PyList extends PySequenceList
See Also:
  • Field Details

    • TYPE

      public static final PyType TYPE
    • gListAllocatedStatus

      public volatile int gListAllocatedStatus
  • Constructor Details

  • Method Details

    • fromList

      public static PyList fromList(List<PyObject> list)
    • __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
    • __imul__

      public PyObject __imul__(PyObject o)
      Description copied from class: PyObject
      Equivalent to the standard Python __imul__ method.
      Overrides:
      __imul__ in class PyObject
      Parameters:
      o - the object to perform this binary operation with (the right-hand operand).
      Returns:
      the result of the imul, or null if this operation is not defined.
    • __mul__

      public PyObject __mul__(PyObject o)
      Description copied from class: PyObject
      Equivalent to the standard Python __mul__ method.
      Overrides:
      __mul__ in class PyObject
      Parameters:
      o - the object to perform this binary operation with (the right-hand operand).
      Returns:
      the result of the mul, or null if this operation is not defined
    • __rmul__

      public PyObject __rmul__(PyObject o)
      Description copied from class: PyObject
      Equivalent to the standard Python __rmul__ method.
      Overrides:
      __rmul__ in class PyObject
      Parameters:
      o - the object to perform this binary operation with (the left-hand operand).
      Returns:
      the result of the mul, or null if this operation is not defined.
    • __add__

      public PyObject __add__(PyObject o)
      Description copied from class: PyObject
      Equivalent to the standard Python __add__ method.
      Overrides:
      __add__ in class PyObject
      Parameters:
      o - the object to perform this binary operation with (the right-hand operand).
      Returns:
      the result of the add, or null if this operation is not defined.
    • __radd__

      public PyObject __radd__(PyObject o)
      Description copied from class: PyObject
      Equivalent to the standard Python __radd__ method.
      Overrides:
      __radd__ in class PyObject
      Parameters:
      o - the object to perform this binary operation with (the left-hand operand).
      Returns:
      the result of the add, or null if this operation is not defined.
    • __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 something with item
       }
       
      Overrides:
      __iter__ in class PySequence
    • __reversed__

      public PyIterator __reversed__()
    • toString

      public String toString()
      Specified by:
      toString in class PySequenceList
    • 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 as s[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 as del 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 the n 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 as s[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.
      Overrides:
      __iadd__ in class PyObject
      Parameters:
      o - the object to perform this binary operation with (the right-hand operand).
      Returns:
      the result of the iadd, or null if this operation is not defined
    • sort

      public void sort(PyObject cmp, PyObject key, PyObject reverse)
    • sort

      public void sort()
    • sort

      public void sort(PyObject compare)
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Collection
      Specified by:
      hashCode in interface List
      Specified by:
      hashCode in class PySequenceList
    • __getnewargs__

      public PyTuple __getnewargs__()
      Overrides:
      __getnewargs__ in class PyObject
    • add

      public void add(int index, Object element)
      Specified by:
      add in interface List
      Specified by:
      add in class PySequenceList
    • add

      public boolean add(Object o)
      Specified by:
      add in interface Collection
      Specified by:
      add in interface List
      Specified by:
      add in class PySequenceList
    • addAll

      public boolean addAll(int index, Collection c)
      Specified by:
      addAll in interface List
      Specified by:
      addAll in class PySequenceList
    • addAll

      public boolean addAll(Collection c)
      Specified by:
      addAll in interface Collection
      Specified by:
      addAll in interface List
      Specified by:
      addAll in class PySequenceList
    • clear

      public void clear()
      Specified by:
      clear in interface Collection
      Specified by:
      clear in interface List
      Specified by:
      clear in class PySequenceList
    • contains

      public boolean contains(Object o)
      Specified by:
      contains in interface Collection
      Specified by:
      contains in interface List
      Specified by:
      contains in class PySequenceList
    • containsAll

      public boolean containsAll(Collection c)
      Specified by:
      containsAll in interface Collection
      Specified by:
      containsAll in interface List
      Specified by:
      containsAll in class PySequenceList
    • equals

      public boolean equals(Object other)
      Description copied from class: PyObject
      Should almost never be overridden. If overridden, it is the subclasses responsibility to ensure that a.equals(b) == true iff cmp(a,b) == 0
      Specified by:
      equals in interface Collection
      Specified by:
      equals in interface List
      Specified by:
      equals in class PySequenceList
    • get

      public Object get(int index)
      Specified by:
      get in interface List
      Specified by:
      get in class PySequenceList
    • 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, see PySequenceList.toArray().
      Specified by:
      getArray in class PySequenceList
    • indexOf

      public int indexOf(Object o)
      Specified by:
      indexOf in interface List
      Specified by:
      indexOf in class PySequenceList
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Collection
      Specified by:
      isEmpty in interface List
      Specified by:
      isEmpty in class PySequenceList
    • iterator

      public Iterator<Object> iterator()
      Specified by:
      iterator in interface Collection
      Specified by:
      iterator in interface Iterable
      Specified by:
      iterator in interface List
      Specified by:
      iterator in class PySequenceList
    • lastIndexOf

      public int lastIndexOf(Object o)
      Specified by:
      lastIndexOf in interface List
      Specified by:
      lastIndexOf in class PySequenceList
    • listIterator

      public ListIterator listIterator()
      Specified by:
      listIterator in interface List
      Specified by:
      listIterator in class PySequenceList
    • listIterator

      public ListIterator listIterator(int index)
      Specified by:
      listIterator in interface List
      Specified by:
      listIterator in class PySequenceList
    • pyadd

      public void pyadd(int index, PyObject element)
      Specified by:
      pyadd in class PySequenceList
    • pyadd

      public boolean pyadd(PyObject o)
      Specified by:
      pyadd in class PySequenceList
    • pyget

      public PyObject pyget(int index)
      Specified by:
      pyget in class PySequenceList
    • pyset

      public void pyset(int index, PyObject element)
      Specified by:
      pyset in class PySequenceList
    • remove

      public Object remove(int index)
      Specified by:
      remove in interface List
      Specified by:
      remove in class PySequenceList
    • remove

      public void remove(int start, int stop)
      Specified by:
      remove in class PySequenceList
    • removeAll

      public boolean removeAll(Collection c)
      Specified by:
      removeAll in interface Collection
      Specified by:
      removeAll in interface List
      Specified by:
      removeAll in class PySequenceList
    • retainAll

      public boolean retainAll(Collection c)
      Specified by:
      retainAll in interface Collection
      Specified by:
      retainAll in interface List
      Specified by:
      retainAll in class PySequenceList
    • set

      public Object set(int index, Object element)
      Specified by:
      set in interface List
      Specified by:
      set in class PySequenceList
    • size

      public int size()
      Specified by:
      size in interface Collection
      Specified by:
      size in interface List
      Specified by:
      size in class PySequenceList
    • subList

      public List subList(int fromIndex, int toIndex)
      Specified by:
      subList in interface List
      Specified by:
      subList in class PySequenceList
    • toArray

      public Object[] toArray()
      Specified by:
      toArray in interface Collection
      Specified by:
      toArray in interface List
      Specified by:
      toArray in class PySequenceList
    • toArray

      public Object[] toArray(Object[] a)
      Specified by:
      toArray in interface Collection
      Specified by:
      toArray in interface List
      Specified by:
      toArray in class PySequenceList
    • remove

      public boolean remove(Object o)
      Specified by:
      remove in interface Collection
      Specified by:
      remove in interface List
      Specified by:
      remove in class PySequenceList
    • traverse

      public int traverse(Visitproc visit, Object arg)
      Description copied from interface: Traverseproc
      Traverses all directly contained PyObjects. 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
      Overrides:
      traverse in class PySequenceList
    • 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
      Overrides:
      refersDirectlyTo in class PySequenceList