[英]Convert Java class to vector - Clojure
I am new to clojure and functional programming and I need to convert Java class org.apache.commons.math3.linear.OpenMapRealMatrix
to clojure vector. 我是Clojure和函数式编程的新手,我需要将Java类org.apache.commons.math3.linear.OpenMapRealMatrix
转换为clojure向量。
How Is it possible to do that? 如何做到这一点?
If you want to keep two dimensional matrix, just below code is fine :) 如果要保留二维矩阵,则下面的代码就可以了:)
(mapv #(vec (.getRow matrix %))
(range (.getRowDimension matrix)))
It's hard to give a direct answer because converting from two dimensional matrix to a one dimensional vector involves choosing how to iterate over the matrix . 很难给出直接答案,因为从二维矩阵转换为一维向量涉及选择如何对矩阵进行迭代 。 If we choose left to right top to bottom one approach would look something like this: 如果我们选择从左到右从上到下,则一种方法如下所示:
(->> (for [r (range 0 (.getRowDimension matrix))]
(vec (.getRow matrix r)))
flatten
vec) ;; this step is optional
Or if you only have one row then you could just call (vec (.getRow matrix 0))
或者,如果只有一行,则可以调用(vec (.getRow matrix 0))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.