List<AttrEntity> attrEntityList = productAttrValueEntities.stream().map((item) -> { AttrEntity attrEntity = attrService.getById(item.getId()); return attrEntity; }).filter((item) -> { System.out.println("过滤item:"+item); return item.getSearchType().equals(1); }).collect(Collectors.toList());
时间: 2024-04-11 12:31:05 浏览: 121
List<Long>转一维数组 Long[](csdn)————程序.pdf
5星 · 资源好评率100%
你的代码段中创建了一个名为`attrEntityList`的`List<AttrEntity>`对象,其中包含了对`productAttrValueEntities`集合中的元素进行一系列操作的流水线操作。
首先,使用`stream()`方法将`productAttrValueEntities`转换为流,然后使用`map()`方法对流中的每个元素进行映射操作。在这里,每个元素都会通过匿名函数`(item) -> {}`进行处理。匿名函数中调用了`attrService.getById(item.getId())`方法,该方法根据传入的`item.getId()`获取相应的`AttrEntity`对象,并将其赋值给`attrEntity`。
接下来,在流水线中使用`filter()`方法对每个元素进行过滤操作。在这里,匿名函数`(item) -> {}`判断了`item.getSearchType().equals(1)`的结果,如果为真,则将该元素保留在流中,否则将其过滤掉。
最后,使用`collect()`方法将过滤后的流中的元素收集到一个新的列表中,并将其赋值给`attrEntityList`。
需要注意的是,在过滤操作中,每个元素的信息通过调用`System.out.println()`方法打印到控制台。
阅读全文