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 中定义一个序列类型并将其与序列中包含的对象类型一起传递给 jarray 对象。 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 string 序列构造的。 上述脚本jarray.py的输出如下 −
array('i', [1, 2, 3, 4, 5]) array('c', 'Hello Jython')