Jython: utilizzo dei tipi di raccolte Java

Oltre ai tipi di dati incorporati di Python, Jython ha il vantaggio di utilizzare le classi di raccolta Java importando il file java.util package. Il codice seguente descrive le classi fornite di seguito:

  • Oggetto Java ArrayList con add ()
  • remove()
  • get () e set () della 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

Lo script Jython sopra produce il seguente output:

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

Classe Jarray

Jython implementa anche il Jarray Object, che consente la costruzione di un array Java in Python. Per lavorare con un jarray, è sufficiente definire un tipo di sequenza in Jython e passarlo all'oggetto jarray insieme al tipo di oggetto contenuto nella sequenza. Tutti i valori all'interno di un jarray devono essere dello stesso tipo.

La tabella seguente mostra i codici di tipo carattere utilizzati con un jarray.

Codice tipo di carattere Tipo Java corrispondente
Z Booleano
C char
B byte
H corto
io int
L lungo
F galleggiante
D Doppio

L'esempio seguente mostra la costruzione di 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

Qui my_seqè definito come una tupla di interi. Viene convertito in Jarray arr1. Il secondo esempio mostra che Jarray arr2 è costruito damySttr stringsequenza. L'output dello script precedentejarray.py è il seguente -

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