簡體   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