是否可以使用 IntStream 将添加元素添加到数组中?

我在cpp中使用这个宏

forn(i,3) cin>>arr[n]; //assume arr initialised earlier

所以我尝试使用 lambda 和 IntStream 在 Java 中实现这一点

  Scanner sc = new Scanner(System.in);
  IntStream.range(0, 5).map(i->arr[i]).forEach(e->e=sc.nextInt());

但我知道流不会操纵底层数据结构。那么我可以使用流来实现这一点,还是必须创建自己的功能接口来实现这一点?谢谢


大话西游666
浏览 85回答 2
2回答

江户川乱折腾

只需将您的代码更改为Scanner sc = new Scanner(System.in); IntStream.range(0, 5).forEach(i -> arr[i] = sc.nextInt());但还要注意,这对于 Streams 来说并不是一个很好的用例。一个简单的循环可能更合适。

杨__羊羊

在映射作为输入提供的整数时,您似乎正在寻找toArraywith的使用:IntStreamint arr[] = IntStream.range(0, 5).map(i -> sc.nextInt()).toArray()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java