如何转换队列<;双[]>;要在java中加倍[]吗?

如何转换队列<;双[]>;要在java中加倍[]吗?,java,queue,Java,Queue,我正在尝试使用Java8流将queue转换为double[][]。 有很多文献显示了一种将队列转换为double[]的方法,但我没有将double[]转换为double[] 如何实现上述问题?使用toArray() 您可以使用流,但这不是必需的 double[][] arr = q.stream().toArray(double[][]::new); 您可以使用此方法queue.toArray(新的双精度[0][0]) 小心。不要使用非参数重载方法queue.toArray()。因为它不能转换

我正在尝试使用Java8流将
queue
转换为
double[][]
。 有很多文献显示了一种将
队列转换为double[]
的方法,但我没有将
double[]
转换为
double[]

如何实现上述问题?

使用
toArray()


您可以使用流,但这不是必需的

double[][] arr = q.stream().toArray(double[][]::new);

您可以使用此方法
queue.toArray(新的双精度[0][0])
小心。不要使用非参数重载方法
queue.toArray()
。因为它不能转换为
Double[][]
,而是
Obejct[]

例如:

LinkedBlockingQueue LinkedBlockingQueue=new LinkedBlockingQueue();
linkedBlockingQueue.put(新的Double[]{1.1,1.2});
linkedBlockingQueue.put(新的Double[]{2.1,2.2});
Double[]doubleTwoDimensionArray=linkedBlockingQueue.toArray(新的双精度[0][0]);
新双精度[0][0]
仅用于指定转换类型


您的解决方案真的需要使用流吗?如下面的答案所示,这里您只需要
double[][]array=yourQueue.toArray(新的double[0][])
[[1.0, 2.0, 3.0, 9.0, 7.0], [4.0, 5.0, 6.0]]
double[][] arr = q.stream().toArray(double[][]::new);