В этом примере показано, как вызвать метод 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, просмотрите таблицу Pass java.lang.Object. Если вы передаете 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 или к примитивному типу. Затем примените MATLAB cell и cell2mat функции.
От ArrayList methods, найдите 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