Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 从Clojure中的特定类型数组创建泛型数组_Arrays_Clojure_Jfreechart - Fatal编程技术网

Arrays 从Clojure中的特定类型数组创建泛型数组

Arrays 从Clojure中的特定类型数组创建泛型数组,arrays,clojure,jfreechart,Arrays,Clojure,Jfreechart,我在clojure与JFreeChart合作,遇到了一个需要帮助的情况 JFreeChart的DefaultXYDataset有一个addSeries方法,用于将series添加到图表中。数据应该是一个数组,其中包含特定于类型的数据(双精度数组)。因此,我编写了以下代码,认为它可以工作,但我得到了一个 ClassCastException该类[Ljava.lang.Object;不能强制转换为类[[D”([Ljava.lang.Object;和[[D位于加载程序“引导”的模块java.base中

我在clojure与JFreeChart合作,遇到了一个需要帮助的情况

JFreeChart的DefaultXYDataset有一个addSeries方法,用于将series添加到图表中。数据应该是一个数组,其中包含特定于类型的数据(双精度数组)。因此,我编写了以下代码,认为它可以工作,但我得到了一个

ClassCastException
类[Ljava.lang.Object;不能强制转换为类[[D”([Ljava.lang.Object;和[[D位于加载程序“引导”的模块java.base中)

(doto\u数据集)
(.将系列“S1”(添加到数组中)
[]
(双阵列(范围10))
(双阵(射程10‘‘‘‘‘‘)
查看之后,我意识到
to array
将两个嵌套数组转换为
对象[“[Ljava.lang.object;”0x491223e7”[Ljava.lang.object;@491223e7”]
,而不是预期的
对象[“[D”0x4f5cf37”[D@4f5cf37“]#对象[”[D“0x6d895193”[D@6d895193"]
。有没有一种方法可以将它们组合成一个通用数组,而不将它们转换成长数组?可能是除了
到数组
之外的另一种方法。欢迎提供任何其他建议。谢谢


编辑:@bfabry-answer将起作用,我可以使用
生成数组
,然后使用
aset-double
,但这将导致我在两个序列之间循环,并将它们的值分配给主数组。我试图避免这种情况,因为两个数据集可能相当大,甚至每个都可以。

这是二维数组,而不是tw数组o数组对象。您需要使用
make array
aset double
来创建所需的数组

user=> (class (make-array Double/TYPE 2 2))
[[D

也应考虑扩展<代码> ActudioXDATABETS< <代码>。谢谢链接@ TrasGod。我将检查它。目前我正在尝试使用Debug ToxDeaseT来修复。还考虑<代码> FastScatterPlot < /代码>,建议。您的答案是正确的,但我试图避免这一点,因为使用<代码> ASET双将再次出现。在我看来,循环遍历两个集合中的所有项,并将它们分别分配给数组。我正在处理的数据集可能相当大,甚至是300k。我认为循环遍历它们不是一个好主意。您最初提出的方法也是复制所有数据,所以除了循环方法中的常量因子外,不会继续g要发送到JFreeChart的数据元素数量比线性时间快。扩展
AbstractXYDataset
可能有助于减少复制。@andy_Fingerbut我明白你的意思,谢谢。我想问一下,使用
cons
而不是
conj
是否会更快。我想懒洋洋会不会更容易rk使它更快。我不知道我的头脑中是否有
cons
conj
会产生任何明显的性能差异。实验和测量可以回答这个问题。最多它会改变所涉及的常数因子,而不是线性时间与非线性时间。我知道,常数因子有时确实很重要。