javalambda表达式list转map
时间: 2024-09-29 17:13:02 浏览: 43
JavasScript Lambda表达式(也称为函数式编程的一部分)在Java 8及以上版本中引入了一种简洁的方式来创建匿名函数。如果你想要将一个List转换为Map,你可以利用Java Stream API,结合lambda表达式实现这个过程。
下面是一个例子,假设我们有一个`List<String>`,你想将其键值对形式地转换成`Map<Integer, String>`:
```java
import java.util.*;
import java.util.stream.Collectors;
List<String> stringList = Arrays.asList("One", "Two", "Three");
// 使用lambda表达式和Collectors.toMap()方法
Map<Integer, String> map = stringList.stream()
.collect(Collectors.toMap(
// 提供一个函数作为键,这里假设元素索引作为键
index -> index,
// 提供另一个函数作为值,这里是原列表中的元素
Function<String, String> function -> function
));
System.out.println(map); // 输出:{0=One, 1=Two, 2=Three}
```
在这个例子中,`index -> index`是键函数,它获取每个元素的索引;`Function<String, String> function -> function`是值函数,它直接返回原始字符串作为值。`toMap()`方法会根据这两个函数创建一个Map。
阅读全文