java list流式写法 转LinkedHashMap
时间: 2023-06-30 13:18:08 浏览: 271
list 转化成hashmap例子
可以使用Java 8 Stream API中的Collectors.toMap()方法结合Lambda表达式来实现将List流式转换为LinkedHashMap的操作。
示例代码如下所示:
```
List<Person> personList = ...; // 假设这里有一个Person对象的List
LinkedHashMap<Integer, Person> personMap = personList.stream()
.collect(Collectors.toMap(
Person::getId, // 作为LinkedHashMap的key
Function.identity(), // 作为LinkedHashMap的value
(existing, replacement) -> existing, // 对于重复的key,保留旧值
LinkedHashMap::new // 指定LinkedHashMap的实现类
));
```
上述代码中,我们将Person对象的List转换为LinkedHashMap,其中Person对象的id属性作为LinkedHashMap的key,Person对象本身作为LinkedHashMap的value。在转换过程中,我们指定了一个自定义的LinkedHashMap实现类,以确保生成的Map是有序的。
需要注意的是,如果List中存在重复的key,我们通过Lambda表达式指定了保留旧值的策略,即将existing作为重复key对应的value值。
阅读全文