首页 > 其他 > 详细

stream流新特性 list转map

时间:2019-12-14 23:11:01      阅读:194      评论:0      收藏:0      [点我收藏+]
   @Test
    public void test01(){
        List<TbSeller> tbSellers = tbSellerMapper.selectAll();
        for (TbSeller tbSeller : tbSellers) {
            System.out.println(tbSeller);
        }
     //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// (k1, k2) -> k1)是为了解决TbSeller::getSellerId作为key时,会报异常 Function.identity()的结果是每个实例对象TbSeller System.out.println("******************list转map key为某一字段 value为对象*****************"); Map<String, TbSeller> tbSellerMap = tbSellers.stream().collect(Collectors.toMap(TbSeller::getSellerId, Function.identity(), (k1, k2) -> k1)); System.out.println("tbSellers转成map的结果tbSellerMap是:"+JSON.toJSONString(tbSellerMap)); // { //"baidu" :{ "addressDetail" : "西二旗小胡同", // "linkmanMobile" : "1390000111", // "linkmanName" : "李彦宏", // "linkmanQq" : "123456", // "name" : "百度公司", // "nickName" : "百度商店", // "password" : "123456", // "sellerId" : "baidu", // "status" : "1", // "telephone" : "4004004400" }, // //"baima" :{ "name" : "我也不知道", // "nickName" : "你懂的", // "password" : "123456", // "sellerId" : "baima", // "status" : "1", // "telephone" : "13388888899" }}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
System.out.println("***************list过滤********************"); // 基本数据类型用== 进行比较 其他大部分用equals进行比较 List<TbSeller> newTbSellerList = tbSellers.stream().filter(tbSeller -> StringUtils.equals(tbSeller.getSellerId(),"baidu")) .collect(Collectors.toList()); System.out.println("tbSellers过滤的结果newTbSellerList是:"+JSON.toJSONString(newTbSellerList)); /** [{ "addressDetail" : "西二旗小胡同", "linkmanMobile" : "1390000111", "linkmanName" : "李彦宏", "linkmanQq" : "123456", "name" : "百度公司", "nickName" : "百度商店", "password" : "123456", "sellerId" : "baidu", "status" : "1", "telephone" : "4004004400" }] */
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
System.out.println("***************分组,计数********************"); Map<String, Long> collect = tbSellers.stream().collect(Collectors.groupingBy(TbSeller::getName, Collectors.counting())); System.out.println("tbSellers过滤的结果collect是:"+JSON.toJSONString(collect)); // 复杂写法 Map<TbSeller, Long> collect1 = tbSellers.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); System.out.println("tbSellers过滤的结果collect1是:"+JSON.toJSONString(collect1)); /** {"我也不知道":1,"百度公司":1} */ System.out.println("***********************************"); }

stream流新特性 list转map

原文:https://www.cnblogs.com/fdy-study-consist/p/12041404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!