我有一个代码块,它返回一个值列表,但需要按特定值分组
List<String> fixedCat =
allAuditedObservations.stream()
.filter(e -> e.getZoneNumber().matches(fixedWithoutZoo))
.map(e -> DateUtils.toLocalDateTimeFromUtcLocalDateTime(e.getObservedDtUtc()))
.map(e -> e.toLocalDate())
.distinct()
.map(e -> Date.from(e.atStartOfDay(ZoneId.systemDefault()).toInstant()))
.map(
e ->
String.valueOf(e.getTime())
.concat("--")
.concat(Observation.FIXED_CAMERA_CATEGORY))
.collect(Collectors.toList());
all.addAll(fixedCat);
它返回 repose 为
[
"1603692000000--FIXED",
"1603778400000--FIXED"
]
所以我更改了上面的代码以根据区域编号获取所有观察结果
List<String> fixedCat =
allAuditedObservations.stream()
.filter(e -> e.getZoneNumber().matches(fixedWithoutZoo))
.map(
observation -> {
observation.getZoneNumber();
LocalDateTime localDateTime =
DateUtils.toLocalDateTimeFromUtcLocalDateTime(
observation.getObservedDtUtc());
LocalDate date = localDateTime.toLocalDate();
Date dateTime =
Date.from(date.atStartOfDay(ZoneId.systemDefault()).toInstant());
return String.valueOf(dateTime.getTime())
.concat("--")
.concat(Observation.FIXED_CAMERA_CATEGORY)
.concat("--")
.concat(observation.getZoneNumber());
})
.collect(Collectors.toList());
当我运行闲置代码时,我必须对每个单独的观察结果进行分组
[
"1603692000000--FIXED--7010",
"1603692000000--FIXED--7000",
"1603692000000--FIXED--7020",
"1603778400000--FIXED--7020",
"1603778400000--FIXED--7010",
"1603692000000--FIXED--7010",
"1603692000000--FIXED--7010",
"1603692000000--FIXED--7010"
]
预期反应
[
"1603692000000--FIXED--7010",
"1603778400000--FIXED--7020"
]