一.根据对象属性去重
List.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->newTreeSet<>(Comparator.comparing(UploadMemberListReqDTO::getMobile))), ArrayList::new))
二.Java 8 Streams map() 示例
对象列表=>转换成字符串id列表
public class Staff {
private String id;
private String name;
private int age;
private BigDecimal salary;
}
List<Staff> staff = Arrays.asList(
new Staff("mkyong", 30,"3"),
new Staff("jack", 27,"2"),
new Staff("lawrence", 33,"1")
);
List<String> ids= staff.stream().map(x -> x.getName()).collect(Collectors.toList())
对象转换为其他对象
public class NowJava8 {
public static void main(String[] args) {
List<Staff> staff = Arrays.asList(
new Staff("mkyong", 30, new BigDecimal(10000)),
new Staff("jack", 27, new BigDecimal(20000)),
new Staff("lawrence", 33, new BigDecimal(30000))
);
// convert inside the map() method directly.
List<StaffPublic> result = staff.stream().map(temp -> {
StaffPublic obj = new StaffPublic();
obj.setName(temp.getName());
obj.setAge(temp.getAge());
if ("mkyong".equals(temp.getName())) {
obj.setExtra("this field is for mkyong only!");
}
return obj;
}).collect(Collectors.toList());
System.out.println(result);
}
}
2
classroomDto ----> classRoom
public static Classroom classroomDtoToClassroom(ClassroomDTO classroomDTO) {
if (classroomDTO == null) {
return null;
}
Classroom classroom = new Classroom();
if (classroomDTO.getId() != null) {
classroom.setId(String.valueOf(classroomDTO.getId()));
classroom.setDelFlag(classroomDTO.getDelFlag());
classroom.setClassroomTypeId(String.valueOf(classroomDTO.getClassroomTypeId()));
classroom.setClassroomTypeCode(String.valueOf(classroomDTO.getClassroomTypeCode()));
classroom.setClassroomTypeName(classroomDTO.getClassroomTypeName());
classroom.setClassroomNo(classroomDTO.getClassroomNo());
classroom.setFloorNo(String.valueOf(classroomDTO.getFloorNo()));
classroom.setBuildingId(String.valueOf(classroomDTO.getBuildingId()));
classroom.setSchoolId(String.valueOf(classroomDTO.getSchoolId()));
classroom.setCampusId(String.valueOf(classroomDTO.getCampusId()));
classroom.setPopulation(String.valueOf(classroomDTO.getPopulation()));
classroom.setCreator(classroomDTO.getCreator());
classroom.setCreateTime(classroomDTO.getCreateTime());
classroom.setModificator(classroomDTO.getModificator());
classroom.setUpdateTime(classroomDTO.getUpdateTime());
}
return classroom;
}
public static List<Classroom> classroomDtoListToClassroomList(List<ClassroomDTO> classroomDTOList) {
if (CollectionUtils.isEmpty(classroomDTOList)) {
return new ArrayList<>();
}
return classroomDTOList.parallelStream().map(ClassroomConvert::classroomDtoToClassroom).collect(Collectors.toList());
}