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轉(zhuǎn)化成為流
.map的意思是轉(zhuǎn)化
LocalSceneEngineBean::getSceneEngineBean的意思是通過LocalSceneEngineBean里的getSceneEngineBean方法,把LocalSceneEngineBean轉(zhuǎn)化成SceneEngineBean。
當然了用下面的x->{}也可以實現(xiàn)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容