现在有一个对象集合,根据对象的code和name生成一个map 使用lamda表达式
时间: 2024-12-14 16:14:31 浏览: 4
lamda表达式 part3
当你需要根据对象的 `code` 和 `name` 属性将对象集合转换成 Map 的时候,可以使用 Java 8 中引入的 Lambda 表达式和 Stream API。假设你有一个 `MyObject` 类,它有 `code` 和 `name` 字段,你可以这样做:
```java
import java.util.*;
import java.util.stream.*;
class MyObject {
private String code;
private String name;
// ... getters and setters
@Override
public String toString() {
return "MyObject{" +
"code='" + code + '\'' +
", name='" + name + '\'' +
'}';
}
}
List<MyObject> objects = ... // 初始化对象列表
Map<String, String> map = objects.stream()
.collect(Collectors.toMap(MyObject::getCode, MyObject::getName));
// 这里,Lambda 表达式 `MyObject::getCode` 和 `MyObject::getName` 分别代表获取每个对象的 code 和 name
```
这个 `map` 现在将包含所有对象的 `code` 作为键 (`key`),对应的 `name` 作为值 (`value`)。
阅读全文