- 生成UUID
参考文献:JAVA生成UUID
//生成UUID
String preUuid = UUID.randomUUID().toString();
// UUID的方法,去掉“-”符号
System.out.println(UUID.randomUUID().toString().replace("-", ""));
- 生成MD5
参考文献:java实现MD5加密的三种方式
所需jar包:commons-codec.jar
import org.apache.commons.codec.digest.DigestUtils;
DigestUtils.md5Hex(str);
- List使用
参考文献:lamda表达式对List进行分组,List按条件过滤
参考文献java List实体集合分组
3.1 List数据分组
List分组GroupBy一个字段
Map<Long, List<BaseOil>> subListMap = baseOilList.stream().filter(x -> x.getSubclassId() != null).collect(Collectors.groupingBy(BaseOil::getSubclassId));
List分组GroupBy多个字段
Map<MtrlSupplyDailyDtlEntity, List<MtrlSupplyDailyDtlEntity>> collect = dtlList.stream().collect(Collectors.groupingBy(
record -> new MtrlSupplyDailyDtlEntity(record.getBaseOilId(), record.getBaseOilName(), record.getMtrlStoragePlaceId())));
// 根据班级、性别将学籍分组
Map<String, List<StudentResource>> mapGroupStudentByClassAndXbm = studentResources
.stream()
.collect(Collectors.groupingBy(
v -> v.getStudentStatus().getGxxs0701().getSzbh()
+ v.getJcxs0101().getXbm()));
对分组结果进行筛选
Map<ReportEntity, List<InReport>> entry = subListMap.entrySet().stream().filter(x -> x.getKey().getReportDateT().equals(dateList.get(0)) && x.getKey().getCompanyCode().equals(code)).collect(Collectors.toMap(p -> p.getKey(), p -> p.getValue()));
3.2 List数据查询
Optional<DepartmentResource> optional = departmentResources
.stream()
.filter(a -> data.getDwh()
.equals(a.getJctb0103().getDwh()))
.findFirst();
3.3 List遍历
resultStudent.get().stream()
.forEach(r -> createOrUpdateCounselor(r.getId().intValue(),
Student.class.getName()));
3.4 多条件过滤
List<user> filter= users.stream()
.filter(user -> user.getName().indexOf("月") > -1 || user.getEmail().indexOf("mu") > -1)
.collect(Collectors.toList());