List<DictData> dictFieldList = this.getEduContext().getEduSystemCache().getDictDataByDictType("EXPERT_FIELD"); Map<String, String> fieldMap = dictFieldList.stream().collect(Collectors.toMap(DictData::getCode, DictData::getName, (a, b) -> a));
时间: 2024-04-19 11:29:11 浏览: 129
JAVA-POI通用工具类.doc
这段代码首先通过调用getEduContext()方法获取到一个EduContext对象,然后通过该对象调用getEduSystemCache()方法获取到一个EduSystemCache对象。接下来,使用getDictDataByDictType("EXPERT_FIELD")方法从EduSystemCache对象中获取到一个包含DictData对象的列表dictFieldList。
然后,利用Java 8的Stream API和Collectors.toMap方法将dictFieldList列表转换为一个包含Code和Name的映射关系的Map对象。具体来说,代码中使用DictData::getCode作为键提取器,DictData::getName作为值提取器进行映射。如果遇到重复的键,则使用第三个参数指定的合并函数来解决冲突,这里的合并函数是简单地选择旧值保留。
最终,将得到一个类型为Map<String, String>的fieldMap对象,其中键为DictData对象的getCode方法返回的字符串,值为DictData对象的getName方法返回的字符串。
阅读全文