美文网首页
Java-lambda,stream,list,map转换

Java-lambda,stream,list,map转换

作者: 催化剂 | 来源:发表于2022-08-09 16:30 被阅读0次

1、字符串转换为List

importcom.google.common.base.Splitter;

import java.util.List;

List<String> teamIdList=Splitter

.on(",")

.omitEmptyStrings()

.splitToList(teamIds).stream()

.map(Long::parseLong)

.collect(Collectors.toList());

2、List转List

List<BaseBeanVo> collect = tests.stream().map(new Function<Test, BaseBeanVo>() {

            @Override

            public BaseBeanVo apply(Test test) {

                BaseBeanVo baseBeanVo = new BaseBeanVo();

                BeanUtils.copyProperties(test, baseBeanVo);

                return baseBeanVo;

            }

        }).collect(Collectors.toList());

3、List转换为Map

List<BasCode> listBasCodeByCode =bimsService.findListBasCodeByCode(BimsConsts.CONTAINER_SHAPE);

Map<String,String>  shapeMap =listBasCodeByCode.stream().collect(Collectors.toMap(BasCode::getCode,BasCode::getName));

4、Map转换为Map

Map<String, Object> codeMap = ipsService.getSelect(codes);

Map<String, Object> envRiskLevelMap = ((List<BasCode>) codeMap.get(BimsConsts.CODE_ENVRISKLEVEL)).stream().collect(Collectors.toMap(BasCode::getCode, BasCode::getName, (k1, k2) -> k1));

Map<String, Object> stateMap = ((List<BasCode>) codeMap.get(BimsConsts.CODE_STATE)).stream().collect(Collectors.toMap(BasCode::getCode, BasCode::getName, (k1, k2) -> k1));

Map<String, Object> enterpriseTypeMap = ((List<BasCode>) codeMap.get(BimsConsts.CODE_ENTERPRISETYPE)).stream().collect(Collectors.toMap(BasCode::getCode, BasCode::getName, (k1, k2) -> k1));

//反转map的key-value 

Map<String, String> nameAndCodeMap = codeAndNameMap.entrySet().stream() .collect(Collectors.toMap( Map.Entry :: getValue, Map.Entry :: getKey ));

5、过滤

List<EnvironmentRiskUnit> selectedUnits = environmentRiskUnits.stream().filter(unit -> unit.getRiskUnitName().contains(queryStr)).collect(Collectors.toList());

Map<Long, List<EmergencySupply>> supplyGroupMap = supplies.stream().filter(Objects::nonNull).collect(Collectors.groupingBy(EmergencySupply::getLibraryId));

List<Map<String, Object>> codeByKeyword = tbIpsCompanyBaseinfoMapper.getCodeByKeyword(keyword); 

List<String> listCode = codeByKeyword.stream().filter(item->item.get("code")!=null).map(new Function<Map<String, Object>, String>() { @Override public String apply(Map<String, Object> stringObjectMap){

Object obj = stringObjectMap.get("code");

return obj.toString();

}}).collect(Collectors.toList());

6、List<Vo>转换Map<String,List<String>>

List<IotSitePollutant> iotSitePollutants = pollutantDataMigrationService.selectIotSitePollutantList(mn);

        Map<String, List<String>> listMap = new HashMap<>();

        iotSitePollutants.forEach(item->{

            List<String> factorCodes = listMap.get(item.getMn());

            if (factorCodes == null) {

                factorCodes = new ArrayList<>();

            }

            factorCodes.add(item.getFactorCode());

            listMap.put(item.getMn(), factorCodes);

        });

        return listMap;

相关文章

网友评论

      本文标题:Java-lambda,stream,list,map转换

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