Stream 转换用法

//Stream 将List<对象>转换为Map<String,List<对象>>
Map<String, List<StuExaminationScore>> stuExaminationScoreMap = stuExaminationScoreList.stream().collect(Collectors.groupingBy(e -> e.getExaminationSubject()));

Stream 多参数作为KEY转换MAP
Map<String, StuExaminationScore> stuExaminationScoreMap = stuExaminationScores.stream().collect(Collectors.toMap(k -> k.getStuId() + k.getExaminationSubject(), part -> part));

//Stream转换成map对象
Map<String, StuUser> stuUserMap = list.stream().collect(Collectors.toMap(StuUser::getIdCardNo, account -> account));

//Stream转JSONObject List
List<JSONObject> lst= new ArrayList<>();
Map<Object, JSONObject> jsonObjectMap = lst.stream().collect(Collectors.toMap(o -> { return o.get("");}, a -> a));

//mysql分割替换 
substring_index(input,split,index):input为要截取的字符,split为分隔符,Index为要截取第index个分隔符左(index为正)或右(index为负)的字符串。

 拿个人的一个字符串举例:'Provider="RiskManagement" finalScore="65" RGID="100397278"'      我要获取finalScore的值:

-- 1-获取finalScore右边的字符
select substring_index('Provider="RiskManagement" finalScore="65" RGID="100397278"','finalScore="',-1);

-- 2-再获取" RGID="左边的字符
select substring_index(substring_index('Provider="RiskManagement" finalScore="65" RGID="100397278"','finalScore="',-1),'" RGID="',1);

UPDATE edu_note_record SET content = REPLACE(content,substring_index(substring_index(content,'恭喜你',1),'【校园报名系统】',-1),stu_name) WHERE id = 'd84ffe9c38de47efa843868b0fc7417f';


-- 判断list集合对象中的字段是否存在某个值
if(list.stream()
.filter(item->item.getUserId()
.equals("123456"))
.findAny()
.isPresent())
{
//存在则代码块执行业务逻辑代码
}

版权声明:本文为qq_31213655原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。