- 代码展示
package com.jd.pda.gateway.spi.impl.service.stock;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//封装赋值
LocationDto dto01 = new LocationDto();
dto01.setUpdateBy("蝎子莱莱");
dto01.setUpdateDate(dateFormat.format(new Date()));
dto01.setVersion(4);
LocationDto dto02 = new LocationDto();
dto02.setUpdateBy("蜘蛛侦探");
dto02.setUpdateDate(dateFormat.format(new Date()));
dto02.setVersion(5);
//放入至集合
List<LocationDto> list = new ArrayList<>();
Collections.addAll(list, dto01, dto02);
//装载至Map集合, 机器人版本为Key, JSON串为Value
Map<Integer, LocationVo> map = new HashMap<>();
//调用方法转换
convert2LocationVo(list).forEach(each -> map.put(each.getVersion(), each));
//遍历
map.forEach((key, value) -> System.out.println("key:" + key + "; value" + JSON.toJSON(value)));
// TODO: key:4; value{"updateDate":"2021-06-25 15:39:25","updateBy":"蝎子莱莱","version":4}
// TODO: key:5; value{"updateDate":"2021-06-25 15:39:25","updateBy":"蜘蛛侦探","version":5}
}
private static List<LocationVo> convert2LocationVo(List<LocationDto> locationDtoList) {
if (null == locationDtoList) {
return null;
}
return locationDtoList.stream().map(item -> {
LocationVo locationVo = new LocationVo();
locationVo.setUpdateBy(item.getUpdateBy());
locationVo.setUpdateDate(item.getUpdateDate());
locationVo.setVersion(item.getVersion());
return locationVo;
}).collect(Collectors.toList());
}
}
@Data
class LocationDto {
private String UpdateBy;
private String UpdateDate;
private Integer Version;
}
@Data
class LocationVo {
private String UpdateBy;
private String UpdateDate;
private Integer Version;
}