Stream流的操作

 

 

 

传参  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);
    // 查询出来的结果进行kv
    Map<String,String> users = userList.stream().collect(Collector.toMap(user -> user.get("code"), user -> user.get("name")));    
    // userIds 和 users 进行合并,
    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

 

posted @ 2023-11-02 14:17  xingmeng1  阅读(26)  评论(0)    收藏  举报