Как преобразовать apache.spark.ml.linalg.Vector в arrayList в Java? - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь преобразовать apache.spark.ml.linalg.Vector в ArrayList в Java.

Исходный код выглядит так:

Vector vector = (Vector) row.get(1);
ArrayList<String> vectorList = new ArrayList<String>(vector);

ошибка:

Cannot resolve constructor
'ArrayList(org.apache.spark.ml.linalg.Vector)'

Как я могу это сделать?

1 Ответ

1 голос
/ 17 апреля 2019

Вы не можете конвертировать Vector в ArrayList<String> напрямую.Vector предоставляет метод toArray() ( документация ), который возвращает массив типа double, с помощью которого вы можете преобразовать его в ArrayList<String>, как показано ниже:

        Vector vector = (Vector) row.get(1);
        double[] vectorArray = vector.toArray();
        ArrayList<String> vectorList = new ArrayList<>();
        for (double vectorElement: vectorArray) {
            vectorList.add(String.valueOf(vectorElement));
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...