首页 > 其他分享 >Stream流的操作

Stream流的操作

时间:2023-11-02 14:37:16浏览次数:30  
标签:map Stream stream List collect user 操作 id

 

 

 

传参  List<ApproveJobContent> contents

Optional<String> value = contents.stream().filter(ctx->"DEMAND_APPLY_EXT_ATTRBUTES".equals(ctx.getContentName()).map(ApproveJobContent::getContentValue).findAny(); 

value.orElse("default);

 

findAny()  取匹配到的第一个元素

 

if(){

Optional<String> value = content.stream().filter(ctx->"OPERATOR".equal(ctx.getContentIdMapping())).map(ApproveJobContent::getContentValue).filter(val -> !"null".equal(val))
          .findAny();

if(value.isPresent()){
  List<String> userIds = Arrays.stream(val.orElse("").split(",")).map(String::trim).filter(StringUtils::hasText).collect(Collectors.toList());
  if(!userIds.isEmpty()){

    //根据List 里面的数据进行查询出来的结果
    List<Map<String,String>> userList = userMapper.selectUserNameList(userIds);

    Map<String,String> users = userList.stream().collect(Collector.toMap(user -> user.get("code"), user -> user.get("name")));    

    Map<String,String> userMap = userIds.stream().collect(Collectors.toMap(id -> id, id -> users.getOrDefault(id, id + "(null)")));

    String operatorName = userMap.keySet().stream().map(userMap::get).collect(Collectors.joining(","));

    sout(
operatorName);

  }
}


}

  

ada

 

标签:map,Stream,stream,List,collect,user,操作,id
From: https://www.cnblogs.com/xingmeng63/p/17805308.html

相关文章

  • git操作指南
    git分布式版本控制系统方便我们管理这些不同版本的文件多人协作安装sudoaptinstallgitsudoapt-getinstallgit配置gitconfig--globaluser.email"你的邮箱地址"gitconfig--globaluser.name"你的名字"配置一次即可区域Remote:远程仓库Repository:本......
  • pytest + yaml 框架 -39.多账号操作解决方案
    前言最近有小伙伴提到,有写场景需要用到2个账号来回切换操作该如何解决。(备注:从v1.2.4以后新版本不再公开,新功能内部VIP学员可以使用,公开版本仅解决bug,不提供新功能了。)先获取账号token前面教程有讲到全局登录一次,后面所有的请求都会拿着全局登录的账号token去访问请求。......
  • JavaScript操作checkbox的方式
    JavaScript操作checkbox的方式和操作radio的方式相似,都是利用元素项的checked属性来完成。先获取checkbox元素集合,遍历集合,对集合中的每一项做操作。 <body> <p> <labelfor="hobby">Hobby: <inputtype="checkbox"name="hobby"value="reading"/>rea......
  • axum 操作 Postgres 数据库
    PostgreSQL是一款天然支持异步操作的高性能开源关系型数据库。本章将讨论如何在axum中使用PostgreSQL。包括:数据的增加、修改、删除、查找以及开始事务保证业务的原子性。如果你对PostgreSQL不是很了解,可以通过PostgreSQL轻松学网站进行学习。ElephantSQL提供了免费的Po......
  • axum 操作 redis
    通过 redis-rs 这个crate,可以很方便的操作redis。它提供了同步和异步两种连接,由于我们要集成到axum中,所以这里使用异步连接。本章将展示如何获取redis异步连接、如何将字符串保存到redis、如何获取到保存在redis里的字符串以及如何通过redis保存和读取自定义结构体。......
  • 刘铭诚:11.1-2美盘黄金行情涨跌走势解析及期货原油价格操作建议
    黄金行情走势分析——白盘波动不大,午间下跌预期给到1975一线入场多单,目前到达1983一线,短线拿到8个点。整体来看今日的波动振幅还没有打开,但是从相关美元指数来看比较利好美元,目前更是来到106.85.晚间有望向107水平关口发起冲锋,届时黄金还会承受打击下跌。昨日黄金受到多次......
  • Linux操作系统
    一.什么是LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。二.Linux的特点(1)Linux是一款免费的操作系统,用户可以通过网络或......
  • 19、模糊查询操作符详解
    模糊查询:本质是比较运算符运算符语法描述isnullaisnull如果操作符为null,则结果为真isnotnullaisnotnull如果操作符不为null,则结果为真betweenabetweenbandc若a在b和c之间,则结果为真likealikebSQL匹配,如果a匹配到b,则结果为真inain(a1......
  • 解题报告 P2572 [SCOI2010] 序列操作
    P2572[SCOI2010]序列操作线段树。首先对于一个区间,我们需要存储\(8\)个量来保证算出答案:\(1\)的个数,\(0\)的个数,最左边连续\(1/0\)个数,最右边连续\(1/0\)个数,区间内最长连续\(1/0\)个数。可以如下定义一个节点:structnode{ intcnt1,cnt0,ls1,ls0,rs1,rs0,ss1,s......
  • 飞腾派使用内核态编程完成LED20控制操作
    1基础知识在该程序设计过程中我们首先需要学习如何在内核态编程。1.1内核态编程在内核态中编写C语言程序和在用户态中编写C语言程序不同,在用户态中编写C语言程序,我们可以使用libc库,通过系统调用访问内核态的相关操作。基础的内核态程序如下:#include<linux/init.h>#include......