使用 Optional.ofNullable 将list 变成map
时间: 2024-04-23 10:19:00 浏览: 161
使用 Optional.ofNullable 将 List 变成 Map 的过程如下:
1. 首先,创建一个空的 Map 对象,用于存储转换后的结果。
2. 使用 Optional.ofNullable 方法对 List 进行包装,以处理可能为空的情况。
3. 调用 List 的 stream() 方法将其转换为流。
4. 使用流的 forEach() 方法遍历 List 中的每个元素。
5. 在 forEach() 方法中,使用 Map 的 put() 方法将元素添加到 Map 中。这里需要注意的是,put() 方法的第一个参数是键,第二个参数是值。你可以根据具体需求来确定键和值的来源。
6. 最后,使用 orElse() 方法获取 Optional 对象中的值,如果 List 为空,则返回一个空的 Map 对象。
下面是示例代码:
```java
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Person> personList = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 35)
);
Map<String, Integer> personMap = Optional.ofNullable(personList)
.orElse(Collections.emptyList())
.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge));
System.out.println(personMap);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
阅读全文