我有一个int的二维数组,还有一个方法,它的参数指向它的一行。我想在该行中非零的元素上返回一个Set,并且不需要for循环。这就是我所尝试的:
public Set<Integer> getNeighbors(int node) {
assert node >= 0 && node < numNodes : "getNeighbors(): Invalid node parameter given: " + node + ".";
return Arrays.stream(matrix[node]).filter(n->n>0).collect(Collectors.toSet());
}
不幸的是,我遇到了一个编译时错误,有点难以解析:
有什么想法吗?
您正在尝试使用int原语创建Set
,(Arrays.stream
"返回一个顺序的IntStream
,指定的Array
作为其源")和一个Set
public Set<Integer> getNeighbors(int node) {
assert node >= 0 && node < numNodes : "getNeighbors(): Invalid node parameter given: " + node + ".";
return Arrays.stream(matrix[node]) //IntStream
.filter(n->n>0)
.boxed() //Convert to Stream<Integer>
.collect(Collectors.toSet());
}
return Arrays.stream(matrix[node])
.filter(n -> n > 0)
.boxed()
.collect(Collectors.toSet());
我会的。<代码>。boxed()位是相关部分。
本文向大家介绍Java中将流(Stream)转换为Set,包括了Java中将流(Stream)转换为Set的使用技巧和注意事项,需要的朋友参考一下 首先,设置一个流(Stream)- 现在,声明一个Set并将此流转换为set- 示例 以下是在Java中将Stream转换为Set的程序- 输出结果
似乎没有一种简单而优雅的方法可以将Javascript转换为数组。 感觉不错,但是原型只有。 有人知道将转换为数组的好方法吗?
本文向大家介绍在 Java 中将 List 转换为 Set,包括了在 Java 中将 List 转换为 Set的使用技巧和注意事项,需要的朋友参考一下 假设以下是带有字符串值的列表- 现在,将上面的列表转换为set- 示例 以下是在Java中将List转换为Set的程序- 输出结果
所以我想做的就是打印出字符,而不是ascii值。。。 这是输出: 有人知道怎么解决这个问题吗?
我在处理流时遇到了一些麻烦。本质上,我有一个
我要将转换为: 如果可选选项包含值,则流包含该值。 如果可选项不包含值,则流应为空。