第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Java Streams 將第一個元素乘以第二個元素

如何使用 Java Streams 將第一個元素乘以第二個元素

慕村9548890 2023-10-13 16:20:47
我想獲取列表中當前元素下一個元素的乘積,但應(yīng)該只使用 Java Streams api。Integer[] inputArray = new Integer[]{1, 3, 5, 7, 9} Integer[] outputArray = new Integer[]{4, 15, 35, 63}謝謝
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻1824條經(jīng)驗 獲得超5個贊

正如我在評論中提到的1 * 3不是四個(而是三個),否則使用 anIntStream.range(int, int)生成索引序列并執(zhí)行乘法。喜歡,


Integer[] inputArray = new Integer[] { 1, 3, 5, 7, 9 };

int[] outputArray = IntStream.range(0, inputArray.length - 1)

        .map(i -> inputArray[i] * inputArray[i + 1]).toArray();

System.out.println(Arrays.toString(outputArray));

哪個輸出


[3, 15, 35, 63]


查看完整回答
反對 回復(fù) 2023-10-13
?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

您可以使用Stream.reduce()方法:

import java.util.Arrays;

import java.util.concurrent.atomic.AtomicInteger;


public class Main {


? ? public static void main(String[] args) {

? ? ? ? Integer[] inputArray = new Integer[]{1, 3, 5, 7, 9};

? ? ? ? Integer[] outputArray = new Integer[inputArray.length - 1];

? ? ? ? AtomicInteger index = new AtomicInteger(0);


? ? ? ? Arrays.stream(inputArray).reduce((a, b) -> {

? ? ? ? ? ? outputArray[index.getAndIncrement()] = a * b;

? ? ? ? ? ? return b;

? ? ? ? });


? ? ? ? System.out.println(Arrays.toString(outputArray)); //[3, 15, 35, 63]?

? ? }

}

現(xiàn)場演示


查看完整回答
反對 回復(fù) 2023-10-13
  • 2 回答
  • 0 關(guān)注
  • 293 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號