使用 stream 流的 map() 方法转换数据
stream 流中的 map() 方法用于处理流中的数据,将流中的元素转换为新类型或经过修改的元素。它接收一个 Lambda 表达式,该表达式指定如何转换元素。
map() 方法的用途
map() 方法可以进行以下类型的转换:
- 更改数据类型:将一个元素从一种类型转换为另一种类型,例如将字符串转换为数字或 vice versa。
- 提取数据子集:从元素中提取特定属性或值,例如从对象中提取名称或 id。
- 应用函数:对流中的每个元素应用函数,例如对所有元素求方根或应用字符串操作。
map() 方法返回一个流,其中元素是转换后的类型。maptoint() 方法是 map() 的一个特化方法,它返回一个 intstream 流,其中元素是 int 类型的值。
示例
以下示例演示了如何使用 map() 方法将对象列表转换为名称列表:
list<person> persons = ...; list<string> names = persons.stream() .map(person::getname) .collect(collectors.tolist());
以下示例演示了如何使用 maptoint() 方法计算年龄总和:
int totalAge = persons.stream() .mapToInt(Person::getAge) .sum();