Jython - usando tipos de coleção Java
Além dos tipos de dados integrados do Python, Jython tem o benefício de usar classes de coleção Java importando o java.util package. O código a seguir descreve as classes fornecidas abaixo -
- Objeto Java ArrayList com add ()
- remove()
- métodos get () e set () da classe ArrayList.
import java.util.ArrayList as ArrayList
arr = ArrayList()
arr.add(10)
arr.add(20)
print "ArrayList:",arr
arr.remove(10) #remove 10 from arraylist
arr.add(0,5) #add 5 at 0th index
print "ArrayList:",arr
print "element at index 1:",arr.get(1) #retrieve item at index 1
arr.set(0,100) #set item at 0th index to 100
print "ArrayList:",arr
O script Jython acima produz a seguinte saída -
C:\jython27\bin>jython arrlist.py
ArrayList: [10, 20]
ArrayList: [5, 20]
element at index 1: 20
ArrayList: [100, 20]
Jarray Class
Jython também implementa o Jarray Object, que permite a construção de um array Java em Python. Para trabalhar com um jarray, basta definir um tipo de sequência em Jython e passá-lo para o jarrayobject junto com o tipo de objeto contido na sequência. Todos os valores em um jarray devem ser do mesmo tipo.
A tabela a seguir mostra os códigos de tipo de caractere usados com um jarray.
Character Typecode | Tipo Java Correspondente |
---|---|
Z | boleano |
C | Caracteres |
B | byte |
H | baixo |
Eu | int |
eu | grandes |
F | flutuador |
D | em dobro |
O exemplo a seguir mostra a construção de jarray.
my_seq = (1,2,3,4,5)
from jarray import array
arr1 = array(my_seq,'i')
print arr1
myStr = "Hello Jython"
arr2 = array(myStr,'c')
print arr2
Aqui my_seqé definido como uma tupla de inteiros. Ele é convertido para Jarray arr1. O segundo exemplo mostra que Jarray arr2 é construído a partir demySttr stringseqüência. A saída do script acimajarray.py é o seguinte -
array('i', [1, 2, 3, 4, 5])
array('c', 'Hello Jython')