gpt4 book ai didi

java - Collectors.groupingBy 具有自定义键名称

转载 作者:行者123 更新时间:2023-12-01 18:00:38 28 4
gpt4 key购买 nike

我有一个类,假设 CheeseMojo 具有以下各种字段:

public class CheeseMojo {
private String recipies = "Recipies";
private int age;
private String name;
private int submissionId;
//getter/setter
}

现在我想使用 Collectors.groupingBy 函数根据submissionId对其进行排序,然后下面的代码片段将完成这项工作

Map<Integer,List<CheeseMojo>> map = new HashMap<>();
map = cheeseMojos.stream().collect(Collectors.groupingBy(CheeseMojo::getSubmissionId));

输出将如下所示:

{1=[CheeseMojo@111111],2=[CheeseMojo@222222]}

但我希望我的输出如下所示:

{"Recipies1"=[CheeseMojo@111111],"Recipies2"=[CheeseMojo@222222]}

请帮忙

最佳答案

为什么不在收集之前映射 key (比方说,通过创建一个包装类的实例,该包装类具有

public class CheeseMojoWrapper { 
private final String id;
private final CheeseMojo wrapped;

public CheeseMojoWrapper(CheeseMojo toWrap) {
id = "Recipe" + toWrap.getId();
wrapped = toWrap;
}
}

或者在生成的 map 的 entrySet() 上使用流...

关于java - Collectors.groupingBy 具有自定义键名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60639123/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com