Jython-Javaコレクションタイプの使用
Jythonには、Pythonの組み込みデータ型に加えて、Javaコレクションクラスをインポートすることで使用できるという利点があります。 java.util package。次のコードは、以下に示すクラスを記述しています。
- add()を使用したJavaArrayListオブジェクト
- 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 | ブール値 |
C | char |
B | バイト |
H | ショート |
私 | int |
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整数のタプルとして定義されます。Jarrayarr1に変換されます。2番目の例は、Jarrayarr2がmySttr stringシーケンス。上記のスクリプトの出力jarray.py 次のとおりです-
array('i', [1, 2, 3, 4, 5])
array('c', 'Hello Jython')