Jython: uso de tipos de colección de Java

Además de los tipos de datos integrados de Python, Jython tiene la ventaja de usar clases de colección de Java al importar el java.util package. El siguiente código describe las clases que se dan a continuación:

  • Objeto Java ArrayList con add ()
  • remove()
  • métodos get () y set () de la clase 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

La secuencia de comandos Jython anterior produce la siguiente salida:

C:\jython27\bin>jython arrlist.py
ArrayList: [10, 20]
ArrayList: [5, 20]
element at index 1: 20
ArrayList: [100, 20]

Clase Jarray

Jython también implementa el Jarray Object, que permite la construcción de una matriz de Java en Python. Para trabajar con un jarray, simplemente defina un tipo de secuencia en Jython y páselo al jarrayobject junto con el tipo de objeto contenido dentro de la secuencia. Todos los valores dentro de una jarra deben ser del mismo tipo.

La siguiente tabla muestra los códigos de tipo de caracteres utilizados con un jarray.

Código de tipo de carácter Tipo de Java correspondiente
Z Booleano
C carbonizarse
segundo byte
H corto
yo En t
L largo
F flotador
re doble

El siguiente ejemplo muestra la construcción 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

aquí my_seqse define como una tupla de números enteros. Se convierte en Jarray arr1. El segundo ejemplo muestra que Jarray arr2 se construye a partir demySttr stringsecuencia. La salida del script anteriorjarray.py es como sigue -

array('i', [1, 2, 3, 4, 5])
array('c', 'Hello Jython')