gpt4 book ai didi

java - Collectors.toMap 的默认返回值

转载 作者:行者123 更新时间:2023-11-30 06:11:54 34 4
gpt4 key购买 nike

如果我们想象,我们有一个叫做人的对象,人看起来像下面这样:

class Person {
int id;
String name;
String country
// ...
// getter/setter
}

我们有一个 ListPerson 对象,我们想将它“转换”为 map 。我们可以使用以下内容:

Map<Long, List<Person>> collect = personList.stream().
collect(Collectors.toMap(Person::getId, p -> p));

但是可以为 valuemapper 返回默认值并更改 valuemapper 的类型吗?

我想过类似的事情:

Map<Long, List<Person>> collect = 
personList.stream().collect(Collectors.groupingBy(Person::getId, 0));

但是我得到以下错误 is not applicable for the arguments

我有一个解决方法,但我认为它不是很漂亮。

Map<Long, Object> collect2 = personList.stream().
collect(Collectors.toMap(Person::getId, pe -> {
return 0;
}));

最佳答案

如果你想将每个人的每个 ID 映射到相同的值,这正是你需要做的,尽管你可以通过编写 Collectors.toMap(Person::getId, pe -> 0) 来简化它

关于java - Collectors.toMap 的默认返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33538419/

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