当前位置: 首页 > 知识库问答 >
问题:

Java 8流与数组操作

洪飞鸿
2023-03-14

谢谢

共有1个答案

乔丁雨
2023-03-14

Java.util.arrays中添加了一些新方法,将数组转换为Java8流,然后将其用于求和等。

int sum =  Arrays.stream(myIntArray)
                 .sum();

两个数组相乘有点困难,因为我想不出一种方法可以像流操作一样同时获得值和索引。这意味着您可能必须对数组的索引进行流式处理。

//in this example a[] and b[] are same length
int[] a = ...
int[] b = ...

int[] result = new int[a.length];

IntStream.range(0, a.length)
         .forEach(i -> result[i] = a[i] * b[i]);

编辑

int[] result = IntStream.range(0, a.length).map(i -> a[i] * b[i]).toArray();
 类似资料:
  • 我有以下两门课: : : 我希望进行流操作,以便: 将映射到中的 的和分别合并到和中,对于所有具有相同id的s 为此,我编写了以下一段代码: 它的工作和输出如下: 但我相信有一种更好的方式可以达到同样的效果。任何一个指针都很好。

  • 我有一个订单列表,我想使用Java8Stream和Collectors按用户分组。GroupingBy: 这将返回包含用户和订单列表的映射: 我不需要整个对象User,只需要它的username字段,它是一个字符串,所以我想获得如下内容: 我试图使用stream.map将用户映射到username字段,但无法正确实现。我怎样才能尽可能简单地做到这一点呢?

  • 我是Java8的新手,不能使用流将一个数组映射到另一个二维数组。 和包含键的第二个数组。 0表示:从模式中取0元素 1表示:从模式中取1元素,以此类推 从这两个数组中,我想生成另一个二维数组。在这种情况下,结果如下所示: 请帮忙

  • 对于上述代码,我得到的输出为: 但我的期望是得到。 你能指导我实现这一点吗?

  • 产出: 请提供2个方法将产生不同输出的例子。