美文网首页
java8特性 .stream()的使用

java8特性 .stream()的使用

作者: 海内灬存知己 | 来源:发表于2023-01-11 15:16 被阅读0次
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->{}也可以实现

相关文章

  • java中List去重

    方法一、使用Set集合特性 方法二、使用java8 stream api

  • Stream流

    Stream流 java8新特性 Stream定义 A sequence of elements supporti...

  • java 8 stream 流详细教程

    1 基本特性 Java8的API中添加了一个新的特性: 流,即stream。stream是将数组或者集合的元素视为...

  • Java8 Stream 流的重用

    Java8 Stream 已经被操作或关闭 引言 在 java8 中,Stream 不能被重用,一旦它被使用或使用...

  • 转发 微博 Qzone 微信 java8:stream特性详解,

    首先谈谈Stream的概念以及Java为什么引入Stream Stream是JAVA8引入的重要特性之一,它是对数...

  • Java8新特性

    自从使用上了Java8的Lambda和Stream编程后,彻底的爱上了。因此决定研究下其他新特性。 Lambda表...

  • 使用Collectors.toMap报java.lang.Ill

    查看下面的代码: 我们使用的是java8的特性使用stream中的api吧list转换为map但是运行的时候报了异...

  • Java8特性③Stream的使用

    筛选和切片 filter 方法 distinct 方法 limit 方法 skip 方法 谓词筛选 Stream ...

  • Java8新特性系列(流性能)

    上期介绍了Java8中Stream的新特性,本期我们将测试下stream与parallelStream的性能以及应...

  • Stream API

    Stream 声明:java8新特性系列为个人学习笔记,参考地址点击这里,侵删!! Stream API Java...

网友评论

      本文标题:java8特性 .stream()的使用

      本文链接:https://www.haomeiwen.com/subject/khgbcdtx.html