Java 8: 如何将List<TradRecordDetail>转换为Map<字段,对象>
使用Java 8的Stream API可以实现将List<TradRecordDetail>转换成Map<对象中的某个字段,对象>的功能。假设TradRecordDetail对象中有一个字段叫做"fieldName",我们要根据该字段的值构建Map。
Map<String, TradRecordDetail> map = tradRecordDetailsList.stream()
.collect(Collectors.toMap(TradRecordDetail::getFieldName, Function.identity()));
上述代码中,使用stream()方法将List转换成Stream对象,并使用collect()方法将Stream对象收集成Map。 在collect()方法中,使用toMap()方法指定键的提取方式和值的提取方式。
- TradRecordDetail::getFieldName表示使用TradRecordDetail对象的getFieldName方法来提取键。
- Function.identity()表示使用对象本身作为值。
这样就可以将List<TradRecordDetail> tradRecordDetailsList转换成Map<String, TradRecordDetail>的形式。
原文地址: https://www.cveoy.top/t/topic/qob1 著作权归作者所有。请勿转载和采集!