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

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

查找列表的對象是否存在于另一個列表中

查找列表的對象是否存在于另一個列表中

桃花長相依 2021-07-01 06:01:50
我有兩個列表List<AreaOfInterest>和List<AreaOfInterestBean>. 對應(yīng)的類是,@Entity@Data@Table( name = "interest_area" )public class AreaOfInterest {    @Id    @GeneratedValue( strategy = GenerationType.AUTO )    @Column( name = "ia_id" )    private Long id;    @Column( name = "ia_value" )    private String value;    @Column( name = "ia_is_active" )    private Boolean isActive;    @Column( name = "ia_created_at" )    private Calendar createdAt;    @Column( name = "ia_is_approved" )    private Boolean isApprovedByAdmin;    @Column( name = "ia_approved_at" )    private Calendar approvedAt;}和,@Datapublic class AreaOfInterestBean {    private Long id;    private String value;    private boolean isSelected;}我想檢查 的對象List<AreaOfInterest>是否存在List<AreaOfInterestBean>,如果存在,我需要更新List<AreaOfInterestBean>. 現(xiàn)在,我覺得我必須迭代兩個列表來解決這個問題。有什么有效的方法嗎?
查看完整描述

2 回答

?
動漫人物

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

老實說,我不確定這的復(fù)雜性(我明天會嘗試弄清楚):


Set<String> left = nonBeans.stream()

            .map(AreaOfInterest::getValue)

            .collect(Collectors.toSet());


beans.stream()

      .filter(x -> left.contains(x.getValue()))

      .forEach(x -> x.setSelected(true));

在這種情況下,復(fù)雜性將為O(n).


查看完整回答
反對 回復(fù) 2021-07-14
?
ibeautiful

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

假設(shè):


List<AreaOfInterest> list = /* ... */

List<AreaOfInterestBean> listOfBeans = /* ... */

兩個簡單的迭代可以輕松實現(xiàn):


for (int i=0; i<listOfBeans.size(); i++) {                // Iterate beans

    AreaOfInterestBean aoiBean = listOfBeans.get(i);      // Get each bean

    for (int j=0; j<list.size(); j++) {                   // Iterate entity

        AreaOfInterest aoi = list.get(j);                 // Get each entity

        if (aoiBean.getId() == aoi.getId()) {             // If they have the same ID

            aoiBean.setValue(aoi.getValue());             // Update the bean value

            break;                                        // Go to the next bean

        }

    }

}

示例:具有以下簡化數(shù)據(jù):


AreaOfInterest同id和value:1, "Car",2, "Bike",3, "Ship"

AreaOfInterestBeans同id和value:5, "Limo",2, "Scooter",7, "Yacht"

結(jié)果AreaOfInterestBeans將是 id 的替換值2:Scooter-> Bike。


AreaOfInterestBeans同id和value:5, "Limo",2, "Bike",7, "Yacht"

另一種流方式:


listOfBeans = listOfBeans.stream()

                  .peek(aoiBean -> list.stream()

                                       .filter(aoi -> aoi.getId() == aoiBean.getId())

                                       .findFirst()

                                       .ifPresent(i -> aoiBean.setValue(i.getValue())))

                  .collect(Collectors.toList());


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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