java - 如何在 JAVA 中将 Pair 转换为二维数组?
问题描述
有没有更简单的方法可以将Pair转换为二维数组?
这是我尝试过的:
public int[][] func() {
List<Pair<Integer, Integer>> pairs = new ArrayList<>();
//this is example value
pairs.add(new Pair<>(1,2));
pairs.add(new Pair<>(2,3));
pairs.add(new Pair<>(3,4));
//I want to make array same size of pair's
int[][] arr = new int[pairs.size()][2];
for(int i =0 ; i < pairs.size(); i++) {
arr[i][0] = pairs.get(i).getKey();
arr[i][1] = pairs.get(i).getValue();
}
return arr;
}
解决方案
与Stream
s:
int[][] arr = pairs.stream()
.map(pair -> new int[] {pair.getKey(),pair.getValue()})
.toArray(int[][]::new);
顺便说一句,与其使用 javafxPair
类,不如使用更标准的java.util.AbstractMap.SimpleEntry
类。
推荐阅读
- firebird - 如何修复 Firebird 错误事务计数超出
- ubuntu - QxcbConnection 错误 - CloudCompare 不会启动
- c# - .net-core 2.2 与 windows server 2008 sp2 兼容吗?
- android - 如何将 aar 本机 android 库嵌入到 React Native 插件中
- python - 找不到满足torch>=1.0.0 要求的版本?
- python - 如何使用 Python 从 OpenCV 中的字符串表示加载视频?
- sockets - 低延迟两阶段协议
- h2o4gpu - h2o4gpu 不在 GPU 上运行 ensemble.RandomForestCLassifier
- arrays - 这个数组是未定义的,但为什么呢?
- javascript - 如何让用户单击颜色以成为更改单击时 svg 对象填充的函数