繁体   English   中英

如何在Java中将apache.spark.ml.linalg.Vector转换为arrayList?

[英]How to convert apache.spark.ml.linalg.Vector to arrayList in java?

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

源代码是这样的:

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

错误是:

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

我怎样才能做到这一点?

您不能直接将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));
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM