我在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
提交
取消