我是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}
};
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;
}
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);
由于您在map
阶段之后有stream
,所以您只需要提供一个数组生成器函数。
我有一个这样的文本文件: ids.txt 我想读取这个文件并加载到二维数组中。我希望有一个类似于下面的数组: 如何解决此异常?
我正在编写一个计算和绘制抛物线的小程序。但我在程序中有一小部分需要计算valuetable。 二次函数如下:
二维数组 #include <stdio.h> #include <stdlib.h> //01.二维数组: // 1.二维数组的内存存储原理: // 所有数组,无论一维数组,二维数组,多维数组,在内存当中的 // 存储实质都是采取的连续存储方式 // 2.二维数组的规律赋值方式: // 先进行行遍历,在进行列遍历,再逐个进行逐个数组元素的具体赋值操作 //
问题内容: 我试图摆脱n维数组。有没有一种不错的API方法可以做到这一点?我知道两个流的连接方法。 问题答案: 假设您要以行优先的方式顺序处理数组的数组,这应该可以工作: 首先,它调用方法(其中推断为)以获取,然后方法将每个元素映射到using 方法。
我目前正在学习如何做流,同时做一些作业以获得乐趣(代码的问世)。虽然我知道如何使用临时数组来实现,但我不知道流的正确语法,甚至不知道是否可以在一行中实现。
主要内容:创建二维数组,初始化二维数组,获取单个元素,获取全部元素,获取整行元素,获取整列元素为了方便组织各种信息,计算机常将信息以表的形式进行组织,然后再以行和列的形式呈现出来。二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。下面简单了解一下二维数组,包括数组的声明和初始化。 创建二维数组 在 Java 中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。Java 并不直接支持二维数组,但是