【问题标题】:How to convert apache.spark.ml.linalg.Vector to arrayList in java?java - 如何在java中将apache.spark.ml.linalg.Vector转换为arrayList?
【发布时间】:2023-04-01 10:00:01
【问题描述】:

我正在尝试在 Java 中将 apache.spark.ml.linalg.Vector 转换为 ArrayList

源码是这样的:

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

错误是:

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

我该怎么做?

【问题讨论】:

    标签: java arraylist type-conversion apache-spark-mllib


    【解决方案1】:

    您不能直接将Vector 转换为ArrayList&lt;String&gt;Vector 提供了一个toArray() 方法(documentation),它返回一个double 类型的数组,使用它可以将其转换为ArrayList&lt;String&gt;,如下所示:

            Vector vector = (Vector) row.get(1);
            double[] vectorArray = vector.toArray();
            ArrayList<String> vectorList = new ArrayList<>();
            for (double vectorElement: vectorArray) {
                vectorList.add(String.valueOf(vectorElement));
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 2013-08-12
      • 2016-03-01
      • 2015-01-11
      • 2017-05-31
      • 1970-01-01
      • 2012-04-13
      相关资源
      最近更新 更多