Map<Long, CourseSimpleInfoDTO> courseMap = courseInfoList.stream() .collect(Collectors.toMap(CourseSimpleInfoDTO::getId, a -> a));
时间: 2024-02-23 16:57:05 浏览: 130
List<Long>转一维数组 Long[](csdn)————程序.pdf
5星 · 资源好评率100%
这段代码的作用是将一个 List<CourseSimpleInfoDTO> 转换为一个以 CourseSimpleInfoDTO 的 id 为键,以 CourseSimpleInfoDTO 本身为值的 Map。具体来说,它使用了 Java 8 中的 Stream API,首先将 courseInfoList 转换为一个 Stream<CourseSimpleInfoDTO>,然后使用 Collectors.toMap() 方法将其转换为一个 Map<Long, CourseSimpleInfoDTO>。其中,toMap() 方法的第一个参数指定了键的提取方式,这里使用了 CourseSimpleInfoDTO 类的 getId() 方法;第二个参数指定了值的提取方式,这里使用了 a -> a,即直接使用 CourseSimpleInfoDTO 本身作为值。如果在转换过程中出现了重复的键,toMap() 方法会抛出一个 IllegalStateException 异常。
阅读全文