我想迭代一个对象列表。每个对象都包含一些对象的变量。更具体地说:
public class KCenterDocumentMapping {
private DigitalFileCategory digitalFileCategory;
private DocumentType documentType;
private KCenterCategory kCenterCategory;
private KCenterFolder kCenterFolder;
private KCenterDocumentType kCenterDocumentType;
//setters & getters
}
我的名单是:
List<KCenterDocumentMapping> allMappings = db4.retrieveMapping();
所需的映射结构是:
Map<DigitalFileCategory, Map<DocumentType, KCenterDocumentMapping>> kCenterDocumentMappingMap = new HashMap<>();
Map<DigitalFileCategory, Map<DocumentType,KCenterDocumentMapping>> grouping = kCenterDocumentMappingList.stream()
.collect(Collectors.groupingBy(KCenterDocumentMapping::getDigitalFileCategory,
Collectors.mapping(KCenterDocumentMapping::getDocumentType, this)));
Collectors.mapping(KCenterDocumentMapping::getDocumentType, this) // this?
我想你要找的是:
Collectors.toMap(KCenterDocumentMapping::getDocumentType,
Function.identity())
Collectors.Mapping
接受函数
和收集器
作为输入;此
看起来不像收集器
我有一个HashMap,我需要使用一些函数对其进行筛选: 上述代码中的错误是变量的声明类型。应该是而不是。 所以现在的功能代码是:
我有以下代码: 此代码不工作,编译错误是: 方法无法应用于给定类型 必选:
我有一个映射,它包含日期作为键和(另一个字符串作为键和列表作为值的映射)作为值。,我想填充另一个将String作为键和double作为值的映射。FlexiServer的内容包括 因此,基本上,我想首先迭代外部映射以获得内部映射,然后迭代内部映射以获得FlexiServers列表,并填充新的映射,其中服务器号作为键,数量列表作为值。我如何使用Java8流来实现这一点呢? 我尝试使用for循环,但我希
例如,我有一个类包含name和surname字段。 我想从的中收集一个的(名字和姓氏都在一起),但似乎无法对每个列表使用两次map或无法对每个列表使用两次stream。 我做错了什么?
我想过滤map列表的元素,然后在Java8+中返回map 在getEmployeeByDepartment方法中,对于映射中的每个条目,使用下面的filterEmployee方法在映射值的列表中筛选employee,返回的map1将包含映射,以便 <“tech”,list2.add(emp6)>//emp6的filterEmployee返回true 我在下面试过这个和那个,但没有成功
我有一个嵌套的映射,其中key是员工名称,values是另一个映射,其中key是公司名称,value是经验年数,如下所示 现在我的函数应该返回一个映射,以员工姓名为键,以总经验为值。我如何使用java流(在单个流中)做到这一点