常见Java8 stream流

  1. 将一个List<T>转为另一个List<K>:
// 方式一:
List<UserInfo> collect = list.stream()
        .map(l -> new UserInfo(l.getId(), l.getUsername(), l.getPassword()))
        .collect(Collectors.toList());
// 方式二:
private static <E,T> List<T> copyList(List<E> source, Class<T> target){
    return source.stream()
        .map(s -> JSONObject.parseObject(JSONObject.toJSONString(s), target))
        .collect(Collectors.toList());
}
  1. List<Object>去重-支持多个属性:
List<TestCommodity> cbList = testCommodityList
            .stream()
            .collect(
                    Collectors.collectingAndThen(
                            Collectors.toCollection(
                            () -> new TreeSet<>(
                                    Comparator.comparing(
                                            tc -> tc.getCode() + ";" + tc.getBarCode()))), ArrayList::new));
  1. List<Object>根据某个属性映射成对象:
Map<String, CoinInfo> map = newCoinList.stream().collect(Collectors.toMap(c -> c.getCoin(), item -> item));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值