java8数组流到二维数组

2023-11-25

我是 Java8 的新手,无法使用流将一个数组映射到另一个二维数组。

我有一个二维数组,它是一种模式:

boolean[][] pattern = {
            {true, true, false},
            {true, false, true},
            {false, true, true}
    };

第二个数组包含键。

0 表示:从模式中取出 0 个元素

1 表示:从模式中取出 1 个元素,依此类推

int[] keys = {2, 1, 0};

我想从这两个数组生成另一个二维数组。在这种情况下,结果将如下所示:

boolean[][] result = {
                {false, true, true},
                {true, false, true},
                {true, true, false}
        };

这是 Java 7 中的代码:

public boolean[][] producePlan(int[] keys, boolean[][] pattern) {
        boolean[][] result = new boolean[keys.length][];
        for (int i = 0; i < keys.length; i++) {
            result[i] = pattern[keys[i]];
        }
        return result;
    }

在 Java8 中我只能打印每一行

Arrays.stream(keys).mapToObj(x -> pattern[x]).forEach(x -> System.out.println(Arrays.toString(x)));

但无法将其转换为二维数组。

请帮忙


你可以这样做,

boolean[][] result = Arrays.stream(keys).mapToObj(i -> pattern[i]).toArray(boolean[][]::new);

既然你有Stream<boolean[]>之后map阶段,您只需要提供一个数组生成器函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java8数组流到二维数组 的相关文章

随机推荐

  • R 中复杂的非等值合并

    我正在尝试在两个表之间进行复杂的非等值连接 我受到了上次 userR 2016 中的演示的启发 https channel9 msdn com events useR international R User conference useR
  • JavaScript 循环性能 - 为什么将迭代器递减到 0 比递增迭代器更快

    在他的书中更快的网站Steve Sounders 写道 提高循环性能的一个简单方法是将迭代器向 0 递减 而不是向总长度递增 实际上这一章是由 Nicholas C Zakas 撰写的 此更改可以使原始执行时间节省高达 50 具体取决于每次
  • git 不添加现有文件夹

    最近开始做一个项目 然后决定把它推到github上 所以我做了以下事情 cd
  • Angular 6 中的倒计时器

    您好 我正在尝试获取一个倒计时器的示例 我在堆栈上搜索时找到了这里 角度 2 倒计时 这是我的代码 import Component ElementRef OnInit OnDestroy from angular core import
  • XSLT:转换为非 xml 内容?

    是否可以使用 XSLT 将 XML 转换为 XML 以外的内容 例如我想要决赛non xml内容
  • 为什么 Visual Studio 在自分配时不发出警告 (int foo = foo;)

    我正在重构一个出现了无数次的术语 不小心产生了如下代码所示的情况 include stdafx h include
  • 以编程方式切换 Bootstrap 3 导航栏

    我在 Bootstrap 3 导航栏中使用了一些项目 如下所示
  • Autofac复合图案

    我注意到我经常需要实现复合模式 例如 interface IService class Service1 IService class Service2 IService class CompositeService IService pu
  • python - 使用 Django 将 Unicode 字符存储到 MySQL 时出现问题

    我有字符串 u Played Mirror s Edge u2122 应显示为 Played Mirror s Edge 但这是另一个问题 我手头的问题是我将其放入模型中 然后尝试将其保存到数据库中 又名 a models Achievem
  • 如何使用依赖 jar 创建可执行 jar

    我创建了一个依赖于一些外部 jar 的 java 应用程序 现在我想为我的项目创建一个可执行的 jar 这意味着如果我双击该项目 那么它应该执行 您可以使用 Ant 轻松做到这一点
  • Android PhotoView 在方向改变后保持缩放

    我正在利用照片查看器Chris Banes 的课程能够放大图像并查看它 但我想这样做 以便当我更改方向时 照片在更改后仍会放大 我了解如何执行此操作的基础知识 即当检测到方向更改时 将调用 onSaveInstanceState 因此我尝试
  • 破坏 RichTextBox 中的编码

    我在 winform 应用程序中使用 richtextbox 当我粘贴 高棉 文本时一切正常 但是 当我粘贴 阿拉伯语 文本时 会出现一些问题 在第一个插入中存在编码问题 我在 richtextbox 中没有找到任何编码属性 如何解决编码问
  • 如何从文本中提取关键字(标签)

    我目前正在尝试用 Java 实现一个标记引擎 并搜索从文本 文章 中提取关键字 标签的解决方案 我在 stackoverflow 上找到了一些建议使用逐点互信息的解决方案 解决方案1 解决方案2 我不能使用 python 和 nltk 所以
  • 异步请求后如何重定向路由?

    我有我使用的这段代码反应路由器 dom v6用于路由 class App extends Component constructor props super props this state accounts componentDidMou
  • 如何对 pandas 中连续出现的重复项进行分组

    我有一个数据框 其中包含两列 Name In cl 我想按名称分组 但它基于连续发生 例如考虑下面的 DataFrame 生成以下 DF 的代码 df pd DataFrame Name A B B A A B C C C B C In C
  • 将 List 传递到 SQL 参数

    该程序是用 C 编写的 我正在尝试传递一个List
  • 如何在 Android 中以编程方式读取 SHA 和 MD5 指纹

    您好 我想以编程方式读取我的应用程序的签名密钥库的 SHA 和 MD5 指纹值 我将采用 SHA 或 MD5 值作为安全密钥 我将在代码中使用该密钥来加密某些内容并在服务器端解密相同的内容 有什么方法可以找到这个 或者有什么方法可以使用不同
  • 表单验证 - 我收到标签两次

    我有一个注册表单 来自 FOSUserBundle 它位于模板中 form theme form AcmeMyBundle Form errors html twig
  • 无法在脚本中导入导入日期时间[重复]

    这个问题在这里已经有答案了 我无法从 python 脚本导入日期时间 但可以从终端命令行导入 1 import datetime 2 From datetime import datetime month datetime datetime
  • java8数组流到二维数组

    我是 Java8 的新手 无法使用流将一个数组映射到另一个二维数组 我有一个二维数组 它是一种模式 boolean pattern true true false true false true false true true 第二个数组包