我有TradeChartDTO列表,我想从该列表中收集多个列表。我确实是这样。但是我想通过使用单个流来收集。我不想一次又一次地流式收集多个列表。
我做到了
private Map<String, Object> getJsonAccordingToChartApi(List<TradeChartDTO> tradeChartDTO) {
List<BigDecimal> high = tradeChartDTO.stream().map(chart -> chart.getHigh()).collect(Collectors.toList());
List<BigDecimal> low = tradeChartDTO.stream().map(chart -> chart.getLow()).collect(Collectors.toList());
List<BigDecimal> close = tradeChartDTO.stream().map(chart -> new BigDecimal(chart.getClose())).collect(Collectors.toList());
List<BigDecimal> open = tradeChartDTO.stream().map(chart -> new BigDecimal(chart.getOpen())).collect(Collectors.toList());
List<BigDecimal> volume = tradeChartDTO.stream().map(chart -> chart.getVolume()).collect(Collectors.toList());
List<BigDecimal> timestamp = tradeChartDTO.stream().map(chart -> new BigDecimal(chart.getTimestamp())).collect(Collectors.toList());
Map<String, Object> mainData = new HashMap<>();
mainData.put("t", timestamp);
mainData.put("c", close);
mainData.put("o", open);
mainData.put("v", volume);
mainData.put("h", high);
mainData.put("l", low);
return mainData;
}
TradeChartDTO.java
@Getter
@Setter
@NoArgsConstructor
public class TradeChartDTO {
private Integer timestamp;
private BigDecimal volume;
private String open;
private BigDecimal high;
private BigDecimal low;
private String close;
private BigDecimal price;
}
还有其他方法吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。