
使用 stream 流的 map() 方法转换数据
stream 流中的 map() 方法用于处理流中的数据,将流中的元素转换为新类型或经过修改的元素。它接收一个 lambda 表达式,该表达式指定如何转换元素。
map() 方法的用途
map() 方法可以进行以下类型的转换:
- 更改数据类型:将一个元素从一种类型转换为另一种类型,例如将字符串转换为数字或 vice versa。
- 提取数据子集:从元素中提取特定属性或值,例如从对象中提取名称或 id。
- 应用函数:对流中的每个元素应用函数,例如对所有元素求方根或应用字符串操作。
map() 与 maptoint() 的区别
Spark Streaming属于Spark的核心api,它支持高吞吐量、支持容错的实时流数据处理。它可以接受来自Kafka, Flume, Twitter, ZeroMQ和TCP Socket的数据源,使用简单的api函数比如 map, reduce, join, window等操作,还可以直接使用内置的机器学习算法、图算法包来处理数据。感兴趣的朋友可以过来看看
map() 方法返回一个流,其中元素是转换后的类型。maptoint() 方法是 map() 的一个特化方法,它返回一个 intstream 流,其中元素是 int 类型的值。
示例
以下示例演示了如何使用 map() 方法将对象列表转换为名称列表:
listpersons = ...; list names = persons.stream() .map(person::getname) .collect(collectors.tolist());
以下示例演示了如何使用 maptoint() 方法计算年龄总和:
int totalAge = persons.stream()
.mapToInt(Person::getAge)
.sum();









