Stream APIJava 8 中提供的一个强大的 API 库,它为集合数据处理提供了一种声明式的编程模型。其中的 map 方法可将一个 Stream 中的每个元素都根据某个规则映射为另一个元素,得到一个新的 Stream 对象。 具体来说,map 方法接收一个函数式接口 Function,它定义了一个 apply 方法,该方法接收一个入参并返回一个结果。map 方法会遍历 Stream 中的每个元素,并使用 Function 中定义的规则对它们进行转化,生成新的 Stream 对象,其中的元素即为转换后的结果。 例如,可以使用 map 方法将一个字符串列表中的每个字符串都转化为它的长度,代码如下: List<String> list = Arrays.asList("apple", "banana", "orange"); List<Integer> resultList = list.stream() .map(String::length) .collect(Collectors.toList()); 上述代码中,首先创建了一个字符串列表,然后将其转化为一个 Stream 对象,然后使用 map 方法将 Stream 中的每个元素都转化为其长度(使用了 lambda 表达式简化了代码),然后使用 collect 方法将 Stream 对象转化为一个列表。 map方法常常用于转换数据类型。通过 map和flatmap方法实现了很多数据流的操作,例如从一个复杂对象中提取单个属性、过滤数据中null值和将多个数据流转换成一个数据流。