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

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

如何使用 java 8 和流將屬性值從列表第一個元素傳播到所有列表元素?

如何使用 java 8 和流將屬性值從列表第一個元素傳播到所有列表元素?

犯罪嫌疑人X 2021-06-08 13:35:23
我有一個List<DataDTO>dataPerDemo and each list element hasList<AnotherDataDTO> dataForFirstDemo and it hasList<AnotherWeekDataDTO> weeksForFirstDemo.我對每個演示都有相同的結(jié)構(gòu)。期望的結(jié)果是將屬性值從第一個列表元素 weekForFirstDemo 傳播到其余的列表元素。我做到了,但我想知道如何通過使用 java 8 和流(可能是 flatMap)來優(yōu)化它。歡迎所有想法。問候private void propagateFlagWeekIsIncludedToTheAllDemos(List<BaselineRatingsSweepsTableDataDTO> sweepsDataPerDemo) {    Iterator<BaselineRatingsSweepsTableDataDTO> sweepsIterator = sweepsDataPerDemo.iterator();    // No primary ... nothing    if (!sweepsIterator.hasNext()) return;    List<BaselineRatingsSweepDataDTO> sweepsForPrimaryDemo = sweepsIterator.next().getSweeps();        // Process remaining demos ( secondary,tersiary .. )    while (sweepsIterator.hasNext()) {        List<BaselineRatingsSweepDataDTO> sweeps = sweepsIterator.next().getSweeps();        processSweeps (sweepsForPrimaryDemo, sweeps);    }}private void processSweeps(List<BaselineRatingsSweepDataDTO> sweepsForPrimaryDemo,    List<BaselineRatingsSweepDataDTO> sweepsForAdditionalDemos) {        // TODO: assert equal sizes    // sweepsForPrimaryDemo && sweeps sizes should be the same !    for (int i=0; i < sweepsForAdditionalDemos.size(); i++) {        List<BaselineRatingsSweepWeekDataDTO> primaryWeeks = sweepsForPrimaryDemo.get(i).getWeeks();        List<BaselineRatingsSweepWeekDataDTO> additionalWeeks = sweepsForAdditionalDemos.get(i).getWeeks();                copyIncludeFlag(primaryWeeks, additionalWeeks);    }}private void copyIncludeFlag(List<BaselineRatingsSweepWeekDataDTO> primaryWeeks,    List<BaselineRatingsSweepWeekDataDTO> additionalWeeks) {        // TODO: assert equal sizes    for (int i=0; i < primaryWeeks.size(); i++) {         if (primaryWeeks.get(i).getWeek().equals(additionalWeeks.get(i).getWeek())) {            additionalWeeks.get(i).setIsIncluded(primaryWeeks.get(i).getIsIncluded());        }    }} 
查看完整描述

2 回答

?
蕭十郎

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

您可以在 java 8 中使用 IntStream 進行迭代:對于字符串列表,我在下面給出了一個示例,您可以根據(jù)您的實際列表進行修改:


private void copyIncludeFlag(List<String> primaryWeeks, List<String> additionalWeeks) {

        IntStream.range(0, primaryWeeks.size()).forEach(weekNumber -> {

             if (primaryWeeks.get(weekNumber).equals(additionalWeeks.get(weekNumber))) {

                    additionalWeeks.get(weekNumber).equals(primaryWeeks.get(weekNumber));

                }

        });

            }

我不知道這是否是您要查找的內(nèi)容或其他內(nèi)容。但是對于迭代,您可以使用它,它會對您有所幫助。只需更改方法參數(shù)中的列表類型即可。


如果對您有幫助,請告訴我。

我只是建議,它可能是也可能不是確切的答案。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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