Jython - 使用 Java 集合类型


除了 Python 的内置数据类型之外,Jython 还具有通过导入java.util 包来使用 Java 集合类的优点。以下代码描述了下面给出的类 -

  • Java ArrayList 对象与 add()
  • 消除()
  • 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]

杰瑞级

Jython 还实现了Jarray Object,它允许在 Python 中构造 Java 数组。为了使用 jarray,只需在 Jython 中定义一个序列类型并将其与序列中包含的对象类型一起传递给 jarrayobject。jar 数组中的所有值必须属于同一类型。

下表显示了与 jarray 一起使用的字符类型代码。

字符类型代码 对应的Java类型
Z 布尔值
C 字符
字节
H 短的
整数
L 长的
F 漂浮
D 双倍的

下面的例子展示了 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')