Java 尝试从两个现有阵列创建二维阵列

Java 尝试从两个现有阵列创建二维阵列,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我对java非常陌生,目前正在尝试用java重新创建一些python代码。这是我的问题: 我有两个不同的变量: ArrayList <Double> x_loc= new ArrayList<>(); ArrayList <Double> y_loc= new ArrayList<>(); ArrayList x_loc=new ArrayList(); ArrayList y_loc=新的ArrayList(); 它们都代表坐

我对java非常陌生,目前正在尝试用java重新创建一些python代码。这是我的问题:

我有两个不同的变量:

    ArrayList <Double> x_loc= new ArrayList<>();
    ArrayList <Double> y_loc= new ArrayList<>();
ArrayList x_loc=new ArrayList();
ArrayList y_loc=新的ArrayList();
它们都代表坐标。我的目标是现在用它们创建一个二维数组,这样我就可以得到类似数组的东西([[x1,y1],[x2,y2],…])

我考虑创建一个新的ArrayList,然后添加每个单独的项目:

ArrayList<Double[]> data_fin = new ArrayList<>(); 
data_fin.add(x_loc)
ArrayList data_fin=new ArrayList();
数据补充(x位置)

然而,这不起作用。我知道我可能在做一些非常愚蠢的事情,但作为一个新手,我真的非常感谢你的帮助。谢谢

您必须迭代原始
列表
s以填充组合的
列表

for (int i = 0; i < x_loc.size() && i < y_loc.size(); i++) {
    data_fin.add (new Double[]{x_loc.get(i),y_loc.get(i)});
}

(这里我假设两个输入
列表
大小相同)。

您必须迭代原始
列表
才能填充组合的
列表

for (int i = 0; i < x_loc.size() && i < y_loc.size(); i++) {
    data_fin.add (new Double[]{x_loc.get(i),y_loc.get(i)});
}

(这里我假设两个输入
列表的大小相同)。

为什么不创建一个包含两个坐标值的类?我建议使用
double[]
over
double[]
。不过,我认为创建一个新类是更好的解决方案。或者你可以使用
zip
操作符:你也可以使用类似列表的双列表。这会创建一个二维列表,并且你不会有两个分开的数组之间索引匹配的复杂性。为什么不创建一个包含两个坐标值的类呢?我建议使用
double[]
over
double[]
。不过,我认为创建一个新类是更好的解决方案。或者你可以使用
zip
操作符:你也可以使用类似于list的双列表这会创建一个二维列表,并且你不会有两个分离数组之间索引匹配的复杂性