Jython - 使用Java集合型別



除了Python的內建資料型別外,Jython還可以透過匯入java.util包來使用Java集合類。以下程式碼描述了下面給出的類:

  • 帶有add()方法的Java ArrayList物件
  • remove()
  • ArrayList類的get()和set()方法。
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

上述Jython指令碼產生以下輸出:

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

Jarray類

Jython還實現了Jarray物件,允許在Python中構造Java陣列。為了使用jarray,只需在Jython中定義一個序列型別並將其與序列中包含的物件型別一起傳遞給jarrayobject。jarray中的所有值必須是同一型別。

下表顯示了與jarray一起使用的字元型別程式碼。

字元型別程式碼 對應的Java型別
Z Boolean
C char
B byte
H short
I int
L long
F float
D double

以下示例顯示了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

這裡my_seq定義為整數元組。它被轉換為Jarray arr1。第二個示例顯示Jarray arr2是從mySttr字串序列構造的。上述指令碼jarray.py的輸出如下:

array('i', [1, 2, 3, 4, 5])
array('c', 'Hello Jython')
廣告
© . All rights reserved.