java8特性 .stream()的使用

1:java8特性 .stream()的使用
public void updateMySceneEngineBeanList() {
        Long userId = DataMMKV.getUserId();
        List<SceneEngineBean> sceneEngineBeans = SceneEngineDepository
                .getInstance()
                .getSceneEngineListData(userId);

        List<SceneEngineBean> localSceneEngineBeans = SceneEngineDepository
                .getInstance()
                .getLocalSceneEngineStateListData(userId)
                .stream()
                .map(LocalSceneEngineBean::getSceneEngineBean)
                .collect(Collectors.toList());

        sceneEngineBeans.addAll(localSceneEngineBeans);

        List<ItemBean<SceneEngineBean>> beans = sceneEngineBeans
                .stream()
                .map(sceneEngineBean -> {
                    ItemBean<SceneEngineBean> itemBean = new ItemBean<>();
                    itemBean.setCode(String.valueOf(sceneEngineBean.getId()));
                    itemBean.setName(sceneEngineBean.getName());
                    itemBean.setState(SimpleSceneEngineExecuteService.getInstance().isOpen(sceneEngineBean.getId()));
                    itemBean.setData(sceneEngineBean);
                    Log.d(TAG, "map: size: " + GsonUtils.toJson(sceneEngineBean));
                    return itemBean;
                }).collect(Collectors.toList());
    }

 public SceneEngineBean getSceneEngineBean(){
        SceneEngineBean sceneEngineBean = new SceneEngineBean();
        sceneEngineBean.setId(this.getId());
        sceneEngineBean.setName(this.getName());
        sceneEngineBean.setRuleJson(this.getRuleJson());
        sceneEngineBean.setType(this.getType());
        sceneEngineBean.setUserId(this.getUserId());
        sceneEngineBean.setSceneEngineRule(this.getSceneEngineRule());
        sceneEngineBean.setKeyType(KEY_TYPE_LOCAL);
        sceneEngineBean.setKeyValue(this.getKeyId());
        return sceneEngineBean;
    }

.stream()的意思是把List转化成为流
.map的意思是转化
LocalSceneEngineBean::getSceneEngineBean的意思是通过LocalSceneEngineBean里的getSceneEngineBean方法,把LocalSceneEngineBean转化成SceneEngineBean。
当然了用下面的x->{}也可以实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容