Java有一个对象 UserEntity。
@Getter
@Setter
public class UserEntity implements Serializable {
private static final long serialVersionUID = -8677623805389612888L;
private Integer marketNo;
private String reportCode;
private Integer interCode;
private String bondPaymentType;
private BigDecimal installmentPayBalance;
private Integer expirePayDate;
// 日期 2025-05-01
private String BEG_DATE;
}
现在有一个List
List<UserEntity> list = new ArrayList<>();
// 将 list中的数据,按照 MarketNo + InterCode 进行分组,这里将2个字段拼接达到目的,分组后取 BEG_DATE 最大的那条数据
List<UserEntity> collect = list.stream().collect(Collectors.groupingBy(a -> a.getInterCode() + "|" + a.getMarketNo(), Collectors.collectingAndThen(
Collectors.maxBy(Comparator.comparing(UserEntity::getBEG_DATE)), Optional::get
))).values().stream().collect(Collectors.toList());