list stream

  /**
     * 1.list 转list,不含返回值
     */
    List<String> strList = list.stream().map(c -> c.getName()).collect(Collectors.toList());
    System.out.println("strList]" + strList);
    /**
     * 1.2 list 转list 含返回值
     */
    List<User> userList = list.stream().map(user -> {
        User user1 = new User();
        user1 = user;
        user1.setName(user1.getName() + "*");
        return user1;
    }).collect(Collectors.toList());
    System.out.println("userList]" + userList);
    /**
     * 2 . list转map
     */
    Map<Integer, User> longStringMap = list.stream().collect(Collectors.toMap(User::getId, s -> s));
    System.out.println("longStringMap]" + longStringMap);
    /**
     * 2 . list转map,key重复问题
     */
    Map<String, User> longStringMap2 = list.stream().collect(Collectors.toMap(User::getName, s -> s, (u1, u2) -> u2));
    System.out.println("longStringMap2]" + longStringMap2);
    /**
     * 2 . list转map,key为null的问题
     */
    Map<String, User> longStringMap3 = list.stream().collect(Collectors.toMap(User::getStatus, s -> s, (u1, u2) -> u2));
    System.out.println("longStringMap3]" + longStringMap3);
    /**
     * 2 . list转map,多个值为空,
     * 只要值为空就报错,要过滤
     */
    Map<String, String> longStringMap4 = list.stream().filter(c -> c.getStatus() != null).collect(Collectors.toMap(User::getName, User::getStatus));
    System.out.println("longStringMap4]" + longStringMap4);
    /**
     * 3.分组
     */
    Map<String, List<User>> stringListMap = list.stream().collect(Collectors.groupingBy(User::getName));
    System.out.println("stringListMap]" + stringListMap);
    /**
     * 3.2 分组统计计算
     */
    Map<String, Integer> integerIntegerMap = list.stream().collect(Collectors.groupingBy(User::getName, Collectors.summingInt(User::getId)));
    System.out.println("integerIntegerMap]" + integerIntegerMap);
    /**
     * 3.2 分组统计计算,加上筛选条件
     */
    Map<String, Integer> integerIntegerMap2 = list.stream().filter(c -> c.getId() < 3).collect(Collectors.groupingBy(User::getName, Collectors.summingInt(User::getId)));
    System.out.println("integerIntegerMap2]" + integerIntegerMap2);

    Map map = new HashMap();
    map.put(null, null);
    map.put("aa", null);
    map.put("bb", null);
    System.out.println("map]" + map);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值