Jython-using-java-collection-types
提供:Dev Guides
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 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に変換されます。 2番目の例は、Jarray arr2が mySttr string シーケンスから構築されることを示しています。 上記のスクリプト jarray.py の出力は次のとおりです-
array('i', [1, 2, 3, 4, 5])
array('c', 'Hello Jython')