我在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());但我知道流不会操纵底层数据结构。那么我可以使用流来实现这一点,还是必须创建自己的功能接口来实现这一点?谢谢
2 回答

江户川乱折腾
TA贡献1851条经验 获得超5个赞
只需将您的代码更改为
Scanner sc = new Scanner(System.in); IntStream.range(0, 5).forEach(i -> arr[i] = sc.nextInt());
但还要注意,这对于 Streams 来说并不是一个很好的用例。一个简单的循环可能更合适。

杨__羊羊
TA贡献1943条经验 获得超7个赞
在映射作为输入提供的整数时,您似乎正在寻找toArray
with的使用:IntStream
int arr[] = IntStream.range(0, 5).map(i -> sc.nextInt()).toArray()
添加回答
举报
0/150
提交
取消