先看代码
public void myMethod(List<Data> dataList){
Map<String ,Data> resultMap = dataList.stream().
collect(Collectors.toMap( Data::getName,Function.identity , (o1 ,o2) -> o2 ));
// 将查询结果转化为 Map 形式,以路径为 key,Rule 对象为 value
// 对 resultMap 进行进一步的操作
// ...
}
其中,
Collectors.toMap
将列表中的元素转化为 Map 形式。Data::getName作为Key。Function.identity()
作为 value,表示将 Data 对象本身作为 Map 的值。
最后一个参数 (o1, o2) -> o2
表示当出现重复的键时,选择保留后面的值