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