Jython - Korzystanie z typów kolekcji Java

Oprócz wbudowanych typów danych Pythona, Jython ma tę zaletę, że używa klas kolekcji Java, importując java.util package. Poniższy kod opisuje klasy podane poniżej -

  • Obiekt Java ArrayList z funkcją add ()
  • remove()
  • get () i set () klasy 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

Powyższy skrypt Jython generuje następujące dane wyjściowe -

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

Klasa Jarray

Jython implementuje również Jarray Object, który umożliwia budowę tablicy Java w Pythonie. Aby pracować z jarrayem, wystarczy zdefiniować typ sekwencji w języku Jython i przekazać go do jarrayobject wraz z typem obiektu zawartego w sekwencji. Wszystkie wartości w jarray muszą być tego samego typu.

W poniższej tabeli przedstawiono kody typów znaków używane z jarray.

Kod typu postaci Odpowiedni typ Java
Z Boolean
do zwęglać
b bajt
H. krótki
ja int
L długo
fa pływak
re podwójnie

Poniższy przykład przedstawia konstrukcję 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

Tutaj my_seqjest zdefiniowana jako krotka liczb całkowitych. Jest konwertowany na Jarray arr1. Drugi przykład pokazuje, że Jarray arr2 jest zbudowany zmySttr stringsekwencja. Dane wyjściowe powyższego skryptujarray.py wygląda następująco -

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