栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java的steam()的使用和解释

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java的steam()的使用和解释


小笔记本解释一段stream()代码:

解释1:
List listSku 

Map map =listSku.stream().collect(Collectors.toMap(SkuHasStockTo::getSkuId, item -> item.getHasStock()));

//遍历listSku  把它的每一个对象(SkuHasStockTo)的 getSkuId 作为键 SkuHasStockTo的每一个hasStock属性作为值,做成map键值对


解释2:
 List skus
    
 List skuIdList = skus.stream().map(SkuInfoEntity::getSkuId).collect(Collectors.toList());

//遍历 skus的每一个对象(SkuInfoEntity) 取出它的skuId 生成一个新的skuId的List

解释3:
 List baseAttrs 
    
 List attrIds = baseAttrs.stream().map(attr -> { 
    return attr.getAttrId();
 }).collect(Collectors.toList());

//遍历 baseAttrs的每一个对象(ProductAttrValueEntity) AttrId 生成一个新的skuId的List

解释4:
 public static class Attrs{
   private Long  attrId;
   private String attrName;
   private String attrValue;
 }   
    
 Set idSet
 List baseAttrs   
    
 List attrList = baseAttrs.stream().filter(item -> {
    return idSet.contains(item.getAttrId());
 }).map(item -> {
    Attrs attrs1 = new SkuEsModel.Attrs();
    BeanUtils.copyProperties(item, attrs1);
    return attrs1;
 }).collect(Collectors.toList());   

//遍历 baseAttrs的每一个对象(ProductAttrValueEntity) 
//filter 过滤筛选出集合idSet 包含 ProductAttrValueEntity属性值attrId的
//把过滤后的ProductAttrValueEntity 按照 Attrs的属性 生成  List



例子5:
    public Map>  getCatalogJson() {
       //1.查出所有1级分类
        List level1Categorys = getLevel1Categorys();
        //封装数据
        Map> collect = level1Categorys.stream().collect(Collectors.toMap(k -> {
            return k.getCatId().toString();
        }, v -> {
            //每一个的一级分类 查到这个一级分类的所有二级分类
            List categoryEntities = baseMapper.selectList(new QueryWrapper().eq("parent_cid", v.getCatId()));
            List catelog2Vos = null;
            if(categoryEntities!=null){
                    catelog2Vos = categoryEntities.stream().map(level2 -> {

                    //查处当前二级分类下的所有三级分类
                    List levl3Catelog = baseMapper.selectList(new QueryWrapper().eq("parent_cid", level2.getCatId()));
                        List catelog3VoList = null;
                        if(levl3Catelog!=null){
                            catelog3VoList = levl3Catelog.stream().map(level3 -> {
                                new  Catelog2Vo.Catelog3Vo("","","");
                                Catelog2Vo.Catelog3Vo catelog3Vo = new Catelog2Vo.Catelog3Vo(
                                    level2.getCatId().toString(),
                                    level3.getCatId().toString(),
                                    level3.getName()
                                );
                                return catelog3Vo;
                            }).collect(Collectors.toList());
                        }


                    Catelog2Vo catelog2Vo = new Catelog2Vo(
                        v.getCatId().toString(),
                        catelog3VoList,
                        level2.getCatId().toString(),
                        level2.getName()
                    );
                    return catelog2Vo;
                }).collect(Collectors.toList());
            }
                return catelog2Vos;
        }));
        return collect;
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/530899.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号