Jython - Utilisation des types de collection Java

En plus des types de données intégrés de Python, Jython a l'avantage d'utiliser les classes de collection Java en important le java.util package. Le code suivant décrit les classes données ci-dessous -

  • Objet Java ArrayList avec add ()
  • remove()
  • méthodes get () et set () de la 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

Le script Jython ci-dessus produit la sortie suivante -

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

Classe Jarray

Jython implémente également le Jarray Object, qui permet la construction d'un tableau Java en Python. Pour travailler avec un jarray, définissez simplement un type de séquence en Jython et passez-le au jarrayobject avec le type d'objet contenu dans la séquence. Toutes les valeurs d'un fichier jarray doivent être du même type.

Le tableau suivant montre les codes de type de caractères utilisés avec un jarray.

Code de type de caractère Type Java correspondant
Z Booléen
C carboniser
B octet
H court
je int
L longue
F flotte
double

L'exemple suivant montre la construction 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

Ici my_seqest défini comme un tuple d'entiers. Il est converti en Jarray arr1. Le deuxième exemple montre que Jarray arr2 est construit à partir demySttr stringséquence. La sortie du script ci-dessusjarray.py est comme suit -

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