В этом примере показано, как вызвать метод java.util.ArrayList класс. Пример демонстрирует то, что это означает иметь объекты Java® как ссылки в MATLAB®.
java.util.ArrayList класс является частью библиотек стандарта Java. Поэтому класс уже находится на пути к классу Java. Если вы вызываете метод в классе, который не находится в стандартной библиотеке, то обновите путь к классу Java так, чтобы MATLAB мог найти метод. Для получения информации смотрите Путь к классу Java.
Создайте ArrayList объект при помощи одного из конструкторов класса. Отобразите методы класса и ищите ArrayList записи в окне методов.
methodsview('java.util.ArrayList')ArrayList (java.util.Collection) ArrayList ( ) ArrayList (int)
Выберите ArrayList() синтаксис, который создает пустой список с начальной способностью 10.
Используйте import функция, чтобы относиться к ArrayList класс, не задавая целый пакет называет java.util.
import java.util.ArrayListСоздайте пустой ArrayList объект.
A = ArrayList;
add МетодДобавьте элементы в ArrayList объект. Посмотрите в окне методов на подписи для add метод.
void add (int,java.lang.Object) boolean add (java.lang.Object)
Выберите boolean add(java.lang.Object) синтаксис. Аргумент java.lang.Object тип Java. Чтобы найти соответствующий тип MATLAB, посмотрите на Передачу java.lang. Объектная таблица. Если вы передаете double аргумент, MATLAB преобразует его в java.lang.Double ввод.
Добавление элементов к ArrayListВызывать add метод, используйте синтаксис MATLAB.
add(A,5); A
A = [5.0]
В качестве альтернативы используйте синтаксис Java.
A.add(10); A
A = [5.0, 10.0]
Чтобы наблюдать поведение копирования объектов Java, присвойте A к новой переменной B.
B = A;
B ссылка на A. На любое изменение в объекте ссылается B также изменяет объект в A. Или код MATLAB или код Java могут изменить объект. Например, добавьте значение в B, и затем отобразите A.
add(B,15); A
A = [5.0, 10.0, 15.0]
ArrayList Объект в MATLABПредположим, что вы вызываете метод Java, который возвращает объект Java типа ArrayList. Если вы вызвали команды в предыдущих разделах, переменной A содержит следующие значения:
class(A)
ans =
'java.util.ArrayList'
A
A = [5.0, 10.0, 15.0]
Использовать A в MATLAB преобразуйте объект в любого java.lang.Object введите или к типу примитива. Затем примените cell MATLAB и cell2mat функции.
От ArrayList окно методов, найдите toArray метод, который преобразует ArrayList к java.lang.Object[].
java.lang.Object[] toArray (java.lang.Object[])
Преобразуйте A к java.lang.Object.
res = toArray(A)
res =
java.lang.Object[]:
[ 5]
[10]
[15]Преобразуйте выход в тип MATLAB.
res = cell(res)'
res =
1×3 cell array
[5] [10] [15]Чтобы преобразовать это значение в матрицу, элементы должны быть тем же типом. В этом примере значения преобразуют, чтобы ввести double.
data = cell2mat(res)
data =
5 10 15