数据集对象
@Data
public class DatasetDetailAndField {
/**
* 数据集uuid
*/
private String datasetUuid;
/**
* 数据集输出参数字段
*/
private String datasetFieldName;
/**
* 字段名称
*/
private String tableFieldName;
}
数据集对象列表
List<Dataset> datasetList = new ArrayList<>();
根据数据集字段去重
List<String> fieldNameList = datasetList.stream()
.collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Dataset::getDatasetFieldName))), ArrayList::new))
.stream().map(Dataset::getDatasetFieldName).collect(Collectors.toList());
数据集对象列表转换为Map集合,有重复key值取第一个
Map<String, String> paramMap = datasetList.stream().filter(field -> queryFieldNameSet.contains(field.getTableFieldName()) && queryParamMap.get(field.getTableFieldName()) != null)
.collect(Collectors.toMap(Dataset::getDatasetFieldName,
field -> {
return queryParamMap.get(field.getTableFieldName());
}, (v1, v2) -> v1));
不同对象类型互转
Role 对象属性,roleCode,roleName,creator,remark......
RoleVo对象属性,roleCode,roleName
List<RoleVo> roleVoList = roleList.stream()
.map(role -> new RoleVo(role.getRoleCode(), role.getRoleName())).collect(Collectors.toList());