Java-lambda-经典示例

1、字符串转换为List

import com.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());



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容