java lambda list转map
时间: 2024-05-22 21:08:31 浏览: 105
精通Java 8 lambda表达式
5星 · 资源好评率100%
在Java 8中,我们可以使用Lambda表达式将List转换为Map。以下是一种常见的方法:
假设我们有一个类Person,其中包含两个属性:id和name。我们要将一个Person的List转换为一个Map,其中id作为key,name作为value。
首先,我们需要将List转换为Stream。然后,我们可以使用Collectors.toMap()方法将每个Person对象转换为一个Map.Entry对象,并将它们收集到一个Map中。下面是代码示例:
```
List<Person> personList = new ArrayList<>();
personList.add(new Person(1, "Alice"));
personList.add(new Person(2, "Bob"));
personList.add(new Person(3, "Charlie"));
Map<Integer, String> idToNameMap = personList.stream()
.collect(Collectors.toMap(Person::getId, Person::getName));
System.out.println(idToNameMap);
```
输出结果如下:
```
{1=Alice, 2=Bob, 3=Charlie}
```
阅读全文