List<Integer> idList = dbMaterials.stream().map(WmMaterial::getId).collect(Collectors.toList());解释这段代码中每个方法的用处,用法并对每个方法举例说明如何使用
时间: 2024-03-23 14:39:05 浏览: 69
java8stream对list操作常用总结
这段代码的作用是将查询到的 wm_material 表的记录列表 dbMaterials 中的每个记录的 id 字段提取出来,放入一个 Integer 类型的集合 idList 中。
具体来说,该代码使用了 Java 8 中的 Stream API,其中主要用到了以下方法:
1. `stream()` 方法:将 List 转化为 Stream 对象,以便进行流式操作。
2. `map()` 方法:对流中的每个元素进行操作,将其映射为另一个元素。这里使用 WmMaterial::getId 方法,将每个 WmMaterial 对象的 id 字段提取出来。
3. `collect()` 方法:将流转化为一个集合。这里使用 Collectors.toList() 方法,将流中的元素放入一个 List 集合中。
因此,该代码可以简单理解为:对查询到的 wm_material 表的记录列表进行处理,提取其中每个记录的 id 字段,放入一个集合中。
下面举例说明如何使用这些方法:
```java
// 例子:提取字符串列表中每个字符串的长度,并放入一个整数列表中
List<String> strList = Arrays.asList("apple", "banana", "cat");
List<Integer> lenList = strList.stream()
.map(String::length) // 将每个字符串映射为其长度
.collect(Collectors.toList()); // 将所有长度放入一个整数列表中
System.out.println(lenList); // 输出 [5, 6, 3]
```
阅读全文