您可以使用Java的Stream API来对List进行操作,以去除deviceType相同,itemName相同但checkTime不同的数据。下面是一个示例代码:

List<HealthDeviceResult> filteredResults = deviceResults.stream()
        .collect(Collectors.groupingBy(r -> Arrays.asList(r.getDeviceType(), r.getItemName())))
        .values().stream()
        .map(list -> list.stream().max(Comparator.comparing(HealthDeviceResult::getCheckTime)).orElse(null))
        .filter(Objects::nonNull)
        .collect(Collectors.toList());

这段代码将先通过groupingBy方法将List按照deviceType和itemName进行分组,然后对每个组内的元素进行比较,选择checkTime最大的元素。最后使用filter方法排除掉为null的元素,并将结果收集到一个新的List中。

请注意,这段代码假设HealthDeviceResult类有相应的getter方法来获取deviceType、itemName和checkTime的值

ListHealthDeviceResult deviceResults = healthDeviceResultServicegetAllResultByBarcodebarcode;如何去除里面deviceType相同itemName相同但checkTime不同的数据

原文地址: https://www.cveoy.top/t/topic/iyIz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录