使用java8新特性实现:list中存储房间实体,将list转化成map,key值为房间的主键,value值为房间主键对应的房间实体
时间: 2024-10-16 11:15:20 浏览: 20
在Java 8中,你可以利用Stream API和Collectors来实现这个功能。首先假设你有一个`Room`实体类,它有一个`roomId`属性作为主键,List叫做`roomList`。以下是实现步骤:
```java
import java.util.*;
import java.util.stream.Collectors;
class Room {
private String roomId;
// 其他字段...
// getters and setters...
}
public class Main {
public static void main(String[] args) {
List<Room> roomList = ... // 初始化你的房房间列表
// 使用Collectors.toMap()方法,将每个Room的roomId作为Key,Room本身作为Value
Map<String, Room> mapOfRooms = roomList.stream()
.collect(Collectors.toMap(Room::getRoomId, Function.identity()));
// 现在mapOfRooms中,每个房间的主键对应了原始列表中的房间实体
}
}
```
在这个例子中,`Function.identity()`是一个函数对象,它会返回传入的对象本身,所以我们不需要提供第二个转换函数。
阅读全文