Collectors.toMap value泛型
时间: 2024-02-28 20:51:15 浏览: 220
Java中的`java.util.stream.Collectors.toMap()`方法有什么作用
Collectors.toMap方法是Java 8中提供的用于将流(Stream)中的元素收集到Map中的方法。它有多个重载的方法,其中一个重要的参数是valueMapper,用于指定如何将流中的元素映射为Map中的值。
在Collectors.toMap方法中,valueMapper参数是一个Function类型的参数,用于将流中的元素映射为Map中的值。该函数接受一个元素作为输入,并返回一个值作为输出。在使用Collectors.toMap方法时,我们可以通过lambda表达式或方法引用来指定valueMapper参数。
在指定valueMapper时,我们可以使用泛型来定义返回值的类型。例如,如果我们有一个流中的元素类型为String,我们可以使用泛型来指定valueMapper返回的值类型为Integer。示例代码如下:
```
List<String> strings = Arrays.asList("apple", "banana", "cherry");
Map<String, Integer> map = strings.stream()
.collect(Collectors.toMap(Function.identity(), String::length));
```
在上述示例中,我们将字符串流中的每个元素作为Map的键,并将其长度作为值。这里的valueMapper参数使用了方法引用String::length,它将字符串映射为其长度(Integer类型)。
阅读全文