List<MRegistMain> mRegistMains = mPolicyMainDao.getRegistMainList(aggreeNo, name, identifyNo); log.info("官网历史理赔查询结果集:: {}", mRegistMains); if (CollectionUtil.isNotEmpty(mRegistMains)) { mRegistMains = mRegistMains.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MRegistMain::getRegistno))), ArrayList::new)); List<MRegistMain> mRegistMains = mPolicyMainDao.getRegistMainList(aggreeNo, name, identifyNo); log.info("官网历史理赔查询结果集:: {}", mRegistMains); if (CollectionUtil.isNotEmpty(mRegistMains)) { mRegistMains = mRegistMains.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MRegistMain::getRegistno))), ArrayList::new)); 这段
时间: 2024-04-19 17:30:21 浏览: 105
hibernate hql语句 投影查询的三种方式.docx
这段代码的作用是对查询结果集进行去重操作,根据 `MRegistMain` 对象的 `getRegistno` 属性进行比较,并且将去重后的结果存储在一个新的列表中。
首先,使用 Java 8 的 Stream API 对 `mRegistMains` 进行操作。调用 `stream()` 方法将列表转换为流,然后使用 `collect()` 方法进行收集操作。
在 `collect()` 方法中,通过 `Collectors.toCollection()` 方法创建一个新的 `TreeSet` 集合,它会根据给定的比较器对元素进行排序和去重。比较器使用 `Comparator.comparing(MRegistMain::getRegistno)`,根据 `getRegistno` 方法的返回值来进行比较。
最后,使用 `ArrayList::new` 构造函数将去重后的结果转换为 `ArrayList` 类型,并赋值给 `mRegistMains` 变量。
请注意,这段代码中使用了一个名为 `CollectionUtil.isNotEmpty()` 的方法来检查列表是否为空,但是该方法的具体实现并未提供。您可能需要根据实际情况进行调整。
希望能解答您的问题!如果您有任何进一步的疑问,请随时提问。
阅读全文