gpt4 book ai didi

java - 过滤列表哪些属性不包含在另一个列表的属性中

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:35 25 4
gpt4 key购买 nike

public class Bill {
private Long code;

public Bill(Long code) {
this.code = code;
}
// setters and Getters
}

class Detail {
private BillId billId;

public Detail(BillId billId) {
this.billId = billId;
}
// setters and Getters

}

class BillId {
private Long number;
private Long code;

public BillId(Long number, Long code) {
this.number = number;
this.code = code;
}
// setters and Getters
}

现在我有

List<Bill> listBill = new ArrayList<>();
listBill.add(new Bill(1L));
listBill.add(new Bill(2L));
listBill.add(new Bill(3L));
listBill.add(new Bill(4L));
listBill.add(new Bill(5L));
listBill.add(new Bill(6L));


List<Detail> listDetail = new ArrayList<>();
listDetail.add(new Detail(new BillId(1000L, 10L)));
listDetail.add(new Detail(new BillId(1000L, 2L)));
listDetail.add(new Detail(new BillId(2000L, 30L)));
listDetail.add(new Detail(new BillId(2000L, 4L)));
listDetail.add(new Detail(new BillId(3000L, 50L)));
listDetail.add(new Detail(new BillId(3000L, 6L)));

现在我需要一个新列表,从listBill 中获取项目,其中一些项目与listDetail 中的一些项目不匹配

detail.getBillId ().getCode() not match with bill.getCode()

期待列表 对不起新的!

newListBill.add(new Bill(1L)); 
newListBill.add(new Bill(3L));
newListBill.add(new Bill(5L));

最佳答案

使用流 API:

listBill.stream()
.filter( b -> !listDetail.stream()
.anyMatch( d -> d.getBillId().getCode() == b.getCode() ) )
.collect( Collectors.toList() );

关于java - 过滤列表哪些属性不包含在另一个列表的属性中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54680557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com