使用 Java 集合类型(Using Java Collection Types)
优质
小牛编辑
144浏览
2023-12-01
除了Python的内置数据类型之外,Jython还可以通过导入java.util package来使用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 Object ,它允许在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 string序列构造的。 上面脚本jarray.py的输出如下 -
array('i', [1, 2, 3, 4, 5])
array('c', 'Hello Jython')