Jython 简明教程

Jython - Using Java Collection Types

除了 Python 的内置数据类型,Jython 还具有通过导入 java.util package 使用 Java 集合类的好处。以下代码介绍了给定的类 −

  1. 具有 add() 的 Java ArrayList 对象

  2. remove()

  3. 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 Class

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

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

Character Typecode

Corresponding Java Type

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')