public class PyArray extends PySequence implements Cloneable, BufferProtocol
See also the jarray module.
PyObject.ConversionException
Constructor and Description |
---|
PyArray(Class<?> type,
int n) |
PyArray(Class<?> type,
Object data) |
PyArray(PyArray toCopy) |
PyArray(PyType type) |
Modifier and Type | Method and Description |
---|---|
PyObject |
__add__(PyObject other)
Equivalent to the standard Python __add__ method.
|
PyObject |
__iadd__(PyObject other)
Equivalent to the standard Python __iadd__ method.
|
PyObject |
__imul__(PyObject o)
Equivalent to the standard Python __imul__ method.
|
int |
__len__()
Length of the array
|
PyObject |
__mul__(PyObject o)
Equivalent to the standard Python __mul__ method.
|
PyObject |
__reduce__()
Used for pickling.
|
PyObject |
__rmul__(PyObject o)
Equivalent to the standard Python __rmul__ method.
|
Object |
__tojava__(Class<?> c)
Equivalent to the Jython __tojava__ method.
|
void |
append(PyObject value)
Append new value x to the end of the array.
|
PyObject |
array___iter__() |
void |
array_append(PyObject value) |
void |
array_byteswap() |
static Class<?> |
array_class(Class<?> type) |
int |
array_count(PyObject value) |
void |
array_extend(PyObject iterable) |
void |
array_fromfile(PyObject f,
int count) |
void |
array_fromlist(PyObject obj) |
int |
array_index(PyObject value) |
void |
array_insert(int index,
PyObject value) |
PyObject |
array_pop(int i)
Removes the item at the index
i from the array and returns it. |
void |
array_remove(PyObject value) |
void |
array_reverse() |
void |
array_tofile(PyObject f) |
PyObject |
array_tolist() |
PyObject |
array_tostring() |
PyObject |
array_tounicode() |
void |
array_write(PyObject f) |
static PyArray |
array(PyObject seq,
char typecode) |
static PyArray |
array(PyObject init,
Class<?> ctype)
Create a PyArray storing
ctype types and being initialised with
init . |
void |
byteswap()
"Byteswap" all items of the array.
|
static Class<?> |
char2class(char type)
Converts a character code for the array type to a Java
Class . |
Object |
clone()
Implementation of
Cloneable interface. |
PyInteger |
count(PyObject value)
Return the number of occurrences of x in the array.
|
void |
extend(PyObject iterable)
Append items from
iterable to the end of the array. |
int |
fillFromStream(InputStream is)
Read primitive values from a stream into the array without resizing.
|
void |
fromfile(PyObject f,
int count)
Read
count items (as machine values) from the file object f and
append them to the end of the array. |
void |
fromlist(PyObject obj)
Append items from the list.
|
void |
fromstring(PyObject input)
Appends items from the object, which is a byte string of some kind (PyString or object with
the buffer interface providing bytes) The string of bytes is interpreted as an array of
machine values (as if it had been read from a file using the
fromfile() method). |
void |
fromstring(String input)
Appends items from the string, interpreting the string as an array of machine values (as if
it had been read from a file using the
fromfile() method). |
void |
fromunicode(PyUnicode input) |
Object |
getArray()
Return the internal Java array storage of the PyArray instance
|
PyBuffer |
getBuffer(int flags)
Method by which the consumer requests the buffer from the exporter.
|
int |
getItemsize()
Getter for the storage size of the array's type.
|
int |
getStorageSize() |
String |
getTypecode()
Getter for the type code of the array.
|
PyObject |
index(PyObject value)
Return the smallest i such that i is the index of the first occurrence of
value in the array. |
void |
insert(int index,
PyObject value)
Insert a new item with value
value in the array before position
index . |
PyObject |
pop()
Removes the last item from the array and return it.
|
PyObject |
pop(int index)
Removes the item with the index
index from the array and returns it. |
void |
remove(PyObject value)
Remove the first occurrence of
value from the array. |
void |
reverse()
Reverse the elements in the array
|
void |
set(int i,
char value) |
void |
set(int i,
int value) |
void |
set(int i,
PyObject value)
Set an element in the array - the index needs to exist, this method does not automatically
extend the array.
|
void |
tofile(PyObject f)
Write all items (as machine values) to the file object
f . |
PyObject |
tolist()
Convert the array to an ordinary list with the same items.
|
int |
toStream(OutputStream os)
Generic stream writer to write the entire contents of the array to the stream as primitive
types.
|
String |
tostring()
Convert the array to an array of machine values and return the string representation (the
same sequence of bytes that would be written to a file by the
tofile() method.) |
String |
toString() |
String |
tounicode() |
static PyArray |
zeros(int n,
char typecode) |
static PyArray |
zeros(int n,
Class<?> ctype) |
__delitem__, __delslice__, __eq__, __finditem__, __finditem__, __ge__, __getitem__, __getslice__, __gt__, __iter__, __le__, __lt__, __ne__, __nonzero__, __setitem__, __setitem__, __setslice__, isMappingType, isNumberType, isSequenceType
__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__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __float__, __floordiv__, __format__, __get__, __getattr__, __getattr__, __getitem__, __getnewargs__, __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__, __radd__, __rand__, __rdiv__, __rdivmod__, __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__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType
public static final PyType TYPE
public PyArray(PyType type)
public PyArray(Class<?> type, int n)
public PyArray(PyArray toCopy)
public static PyArray zeros(int n, char typecode)
public static PyArray array(PyObject init, Class<?> ctype)
ctype
types and being initialised with
init
.init
- an initialiser for the array - can be PyString or PySequence (including PyArray)
or iterable type.ctype
- Class
type of the elements stored in the array.public PyObject array___iter__()
public PyObject __imul__(PyObject o)
PyObject
public PyObject __mul__(PyObject o)
PyObject
public PyObject __rmul__(PyObject o)
PyObject
public PyObject __iadd__(PyObject other)
PyObject
public PyObject __add__(PyObject other)
PyObject
public int __len__()
public PyObject __reduce__()
PyObject
__reduce__
in class PyObject
public Object __tojava__(Class<?> c)
PyObject
Py.NoConversion
if this PyObject
can not be converted to the
desired Java class.__tojava__
in class PySequence
c
- target Class
for the conversionpublic final void array_append(PyObject value)
public void append(PyObject value)
value
- item to be appended to the arraypublic void array_byteswap()
public void byteswap()
public Object clone()
Cloneable
interface.public static Class<?> char2class(char type) throws PyIgnoreMethodTag
Class
.
The following character codes and their native types are supported:
Type code | native type |
z | boolean |
c | char |
b | byte |
h | short |
i | int |
l | long |
f | float |
d | double |
type
- character code for the array typeClass
of the native typePyIgnoreMethodTag
public final int array_count(PyObject value)
public PyInteger count(PyObject value)
value
- instances of the value to be countedpublic final void array_extend(PyObject iterable)
public void extend(PyObject iterable)
iterable
to the end of the array. If iterable is another
array, it must have exactly the same type code; if not, TypeError will be raised. If iterable
is not an array, it must be iterable and its elements must be the right type to be appended
to the array.iterable
- iterable object used to extend the arraypublic final void array_fromfile(PyObject f, int count)
public void fromfile(PyObject f, int count)
count
items (as machine values) from the file object f
and
append them to the end of the array. If less than count
items are available,
EOFError is raised, but the items that were available are still inserted into the array.
f
must be a real built-in file object; something else with a read() method won't
do.f
- Python builtin file object to retrieve datacount
- number of array elements to readpublic final void array_fromlist(PyObject obj)
public void fromlist(PyObject obj)
obj
- input list object that will be appended to the arraypublic int fillFromStream(InputStream is) throws IOException
is
- InputStream to source the data fromIOException
- reflecting I/O errors during readingpublic void fromstring(PyObject input)
fromfile()
method).input
- string of bytes containing array datapublic void fromstring(String input)
fromfile()
method).input
- string of bytes containing array datapublic void fromunicode(PyUnicode input)
public Object getArray() throws PyIgnoreMethodTag
Array
store.PyIgnoreMethodTag
public int getItemsize()
The sizes returned by this method represent the number of bytes used to store the type. In the case of streams, this is the number of bytes written to, or read from a stream. For memory this value is the minimum number of bytes required to store the type.
This method is used by other methods to define read/write quanta from strings and streams.
Values returned are:
Type | Size |
boolean |
1 |
byte |
1 |
char |
1 |
short |
2 |
int |
4 |
long |
8 |
float |
4 |
double |
8 |
public int getStorageSize()
public String getTypecode()
char2class
describes the
possible type codes and their meaning.public final int array_index(PyObject value)
public PyObject index(PyObject value)
value
in the array.value
- value to find the index ofvalue
public final void array_insert(int index, PyObject value)
public void insert(int index, PyObject value)
value
in the array before position
index
. Negative values are treated as being relative to the end of the array.index
- insert positionvalue
- value to be inserted into arraypublic final PyObject array_pop(int i)
i
from the array and returns it. The optional
argument defaults to -1, so that by default the last item is removed and returned.public PyObject pop()
public PyObject pop(int index)
index
from the array and returns it.index
- array location to be popped from the arraypublic final void array_remove(PyObject value)
public void remove(PyObject value)
value
from the array.value
- array value to be removedpublic final void array_reverse()
public void reverse()
public void set(int i, PyObject value)
AbstractArray.setSize()
or
AbstractArray.ensureCapacity()
for ways to extend
capacity.
This code specifically checks for overflows of the integral types: byte, short, int and long.
i
- index of the element to be setvalue
- value to set the element topublic void set(int i, int value)
public void set(int i, char value)
public final void array_tofile(PyObject f)
public void array_write(PyObject f)
public void tofile(PyObject f)
f
.f
- Python builtin file object to write datapublic final PyObject array_tolist()
public PyObject tolist()
public int toStream(OutputStream os) throws IOException
os
- OutputStream to sink the array data toIOException
public final PyObject array_tostring()
public String tostring()
tofile()
method.)public String tounicode()
public final PyObject array_tounicode()
public PyBuffer getBuffer(int flags)
PyBuffer.release()
on the buffer it
obtained, since some objects alter their behaviour while buffers are exported.
The PyBuffer
returned from this method is a one-dimensional array of single byte
items that allows modification of the object state. The existence of this export prohibits
resizing the byte array. This prohibition is not only on the consumer of the view but
extends to any other operations, such as any kind or insertion or deletion.
getBuffer
in interface BufferProtocol
flags
- specifying features demanded and the navigational capabilities of the consumer