Jython - Sử dụng các loại Bộ sưu tập Java

Ngoài các kiểu dữ liệu tích hợp sẵn của Python, Jython có lợi ích khi sử dụng các lớp thu thập Java bằng cách nhập java.util package. Đoạn mã sau mô tả các lớp được cung cấp bên dưới:

  • Đối tượng Java ArrayList với add ()
  • remove()
  • phương thức get () và set () của lớp 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

Tập lệnh Jython ở trên tạo ra kết quả sau:

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

Lớp Jarray

Jython cũng thực hiện Jarray Object, cho phép xây dựng một mảng Java trong Python. Để làm việc với một jarray, chỉ cần xác định kiểu trình tự trong Jython và chuyển nó đến jarrayobject cùng với kiểu đối tượng có trong chuỗi. Tất cả các giá trị trong một jarray phải cùng loại.

Bảng sau đây cho thấy các kiểu gõ ký tự được sử dụng với một jarray.

Mã kiểu ký tự Loại Java tương ứng
Z Boolean
C char
B byte
H ngắn
Tôi int
L Dài
F Phao nổi
D gấp đôi

Ví dụ sau đây cho thấy cấu trúc của 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

Đây my_seqđược định nghĩa là một bộ số nguyên. Nó được chuyển đổi thành Jarray arr1. Ví dụ thứ hai cho thấy rằng Jarray arr2 được xây dựng từmySttr stringsự nối tiếp. Đầu ra của tập lệnh trênjarray.py như sau -

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