Jython - Использование типов коллекций Java
В дополнение к встроенным типам данных Python, Jython имеет преимущество использования классов коллекции Java путем импорта java.util package. Следующий код описывает классы, приведенные ниже -
- Объект Java ArrayList с add ()
- remove()
- get () и set () класса ArrayList.
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]
Класс Джаррей
Jython также реализует Jarray Object, который позволяет создавать массив Java в Python. Чтобы работать с jarray, просто определите тип последовательности в Jython и передайте его объекту jarray вместе с типом объекта, содержащегося в последовательности. Все значения в банке должны быть одного типа.
В следующей таблице показаны коды типов символов, используемые с jarray.
Код Типа Персонажа | Соответствующий тип Java |
---|---|
Z | Булево |
C | символ |
B | байт |
ЧАС | короткая |
я | 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определяется как набор целых чисел. Он конвертируется в Jarray arr1. Второй пример показывает, что Jarray arr2 построен изmySttr stringпоследовательность. Вывод вышеуказанного скриптаjarray.py выглядит следующим образом -
array('i', [1, 2, 3, 4, 5])
array('c', 'Hello Jython')