java - 尝试从两个现有数组创建一个二维数组
问题描述
我对java很陌生,我目前正在尝试在java中重新创建一些python代码。这是我的问题:
我有 2 个不同的变量:
ArrayList <Double> x_loc= new ArrayList<>();
ArrayList <Double> y_loc= new ArrayList<>();
它们都代表坐标。我的目标是现在用它们创建一个二维数组,这样我就可以拥有类似数组([[x1,y1],[x2,y2],...])的东西。
我考虑过创建一个新的 ArrayList,然后添加每个单独的项目:
ArrayList<Double[]> data_fin = new ArrayList<>();
data_fin.add(x_loc)
但是,这不起作用。我知道我可能正在做一些非常愚蠢的事情,但作为一个新手,我真的很感谢你的帮助。谢谢!
解决方案
您必须遍历原始List
s 才能填充组合List
:
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)});
}
也可以用Stream
s 来完成:
List<Double[]> data_fin = IntStream.range(0,x_loc.size())
.mapToObj(i -> new Double[] {x_loc.get(i),y_loc.get(i)})
.collect(Collectors.toList());
(这里我假设两个 inputList
的大小相同)。
推荐阅读
- java - 为什么 List.contains(Object) 的行为不同?
- r - 如何在同一个数据帧上做colsum和average
- powerbi - 使用 DAX 生成日期系列
- javascript - 仅在服务器上需要一个包
- java - Intellij IDEA 仅针对所有未提交的更改运行测试
- regex - 在换行符之前匹配字符,不包括空格?
- macos - MacOS - 使用带有launchd的脚本 - 启动,登录,注销,关闭?
- service-worker - Workbox 的服务人员在更改时未更新
- python - AllenNLP 共指分辨率的多 GPU 训练
- reactjs - 事件处理程序中带有 [name] 的 PrevState