List<Reservable> poByDunList 这个集合怎么按照id为key 组成currenthashmap
时间: 2024-03-21 09:39:32 浏览: 48
list 转化成hashmap例子
可以使用 Java 8 的 Stream API 来构建一个 `ConcurrentHashMap`,实现将 `List<Reservable>` 按照 `id` 字段作为 key 组成 `ConcurrentHashMap` 的功能,代码如下:
```
List<Reservable> poByDunList = ...
ConcurrentHashMap<Integer, Reservable> map = poByDunList.stream()
.collect(Collectors.toConcurrentMap(Reservable::getId, Function.identity()));
```
这段代码会将 `poByDunList` 中的元素按照 `id` 字段作为 key 组成一个 `ConcurrentHashMap`,其中 key 的类型为 `Integer`,value 的类型为 `Reservable`。
需要注意的是,如果 `poByDunList` 中存在多个元素的 `id` 字段相同,那么会抛出一个 `IllegalStateException` 异常。如果你确定 `id` 字段不会重复,或者只需要保留其中一个重复元素,可以使用 `toConcurrentMap` 方法的其他重载方法来处理这种情况。
阅读全文