问题
Java 中如何将List转换成以List元素某个属性为key,整个元素为value的Map?
解决办法
直接上代码
List<OrderInfo> orderList = orderService.selectList(entityWrapper);
Map<String,OrderInfo> orderMap = new HashMap<>(0);
if(null != orderList && !orderList.isEmpty()) {
//ist 转 map,key为属性,value为对象
orderMap = orderList.stream().collect(Collectors.toMap(OrderInfo::getOrderId, Function.identity(),(key1, key2) -> key2));
}
如果是以List元素某个属性为key,某个属性为value,写法如下:
orderMap = orderList.stream().collect(Collectors.toMap(OrderInfo::getOrderId,OrderInfo::getOrderType,(key1, key2) -> key2));
语法说明:
Collectors.toMap()方法中,第一参数key值,第二个参数固定写法,第三个参数如果两个key重复了,让后面的key覆盖前面的key。
4961

被折叠的 条评论
为什么被折叠?



