【开发经验】lamada表达式使用

45 阅读1分钟

集合

1. 排序

需求1:先按金额不为空的排在前面,钱包序号排在后面


List<AccountWalletInfoDto> sortedWalletList = walletList.stream()
        .sorted(Comparator.comparing((Function<AccountWalletInfoDto,BigDecimal>)item->item.getWalletBalance(),Comparator.nullsLast(BigDecimal::compareTo).reversed())
        .thenComparing(AccountWalletInfoDto::getWalletId))
        .collect(Collectors.toList());

2. 交、并、差集

差集

CollectionUtil.subtractToList(list1, list2)

交集

CollectionUtil.intersection(list1, list2)

并集

CollectionUtil.unionDistinct(list1, list2)

参考:hutool工具类