在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 兩個list判斷以某個字段為標(biāo)準(zhǔn)獲取交集?

兩個list判斷以某個字段為標(biāo)準(zhǔn)獲取交集?

兩個list都存user對象,其中有id和name,在不重寫hashcode和equals的前提下,如何以當(dāng)前對象id相同為標(biāo)準(zhǔn)來篩選出交集?

回答
編輯回答
喜歡你

可以考慮寫一個輔助函數(shù)

int find(int id, List<User> list){
    int res = -1;
    for(int i = 0; i < list.size(); i ++){
        if (list.get(i).id == id){
        res = i;
        break;
        }
    }
    return res;
}

然后使用stream簡化操作

List<User> list = list2.stream()
    .filter(user -> find(user.id, list1) > -1)
    .collect(Collectors.toList());
2017年6月3日 08:31