与之对应的方法改造及实例如下
public static <T> T scanReturn(int x, int y, ScanFunc<T> func) {Ans<T> ans = new Ans<>();for (int i = 0; i < x; i++) {for (int j = 0; j < y; j++) {func.accept(i, j, ans);if (ans.tag) {return ans.ans;}}}return null;}public void getEven() {int[][] cells = new int[][]{{1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24}};String ans = scanReturn(cells.length, cells[0].length, (i, j, a) -> {if ((cells[i][j] & 1) == 0) {a.setAns(i + "_" + j);}});System.out.println(ans);}复制代码
这样看起来就比前面的要好一点了
实际跑一下,看下输出是否和我们预期的一致;
文章插图
作者:一灰灰
链接:
https://juejin.cn/post/7128771846131941406
【Java小技巧:巧用函数方法实现二维数组遍历】
推荐阅读
- 腾讯|福布斯2022中国数字经济100强出炉:腾讯第一 小米第十
- 小米|小米向3142人奖励股票 价值9.42亿元
- 无基础唱歌技巧和发声方式教学 学习唱歌的方法
- 小米|小米平板4 Plus正式退场:官方宣布停止售后服务
- 三星|沿用S22极简设计:Galaxy S23 Ultra变化将是三星史上最小
- 小学六年级班主任工作计划 六年级班主任工作计划
- 小孩能喝黑茶吗?
- 四大洋中面积最小的是哪个 四大洋面积最小的是哪一个
- Java|Java:2022年招聘Java开发人员指南
- 那些关于音乐家的小故事 音乐家的小故事