我想使用Java流按id()
对用户列表进行分组。
例如,我有列表:new User(1L,“first”),new User(2L,“second”)
。
1L -> new User(1L, "First"),
2L -> new User(2L, "Second")
public final class User {
final Long id;
final String name;
public User(final Long id, final String name) {
this.id = id;
this.name = name;
}
public Long id() {
return this.id;
}
public String name() {
return this.name;
}
}
如果每个ID映射到单个用户
,请使用collectors.tomap
:
Map<Long,User> users = list.stream().collect(Collectors.toMap(User::id,Function.identity()));
我有一个对象,我正试图映射到。现在这个有一个名为的枚举,其中包含一些值。我想使用将它们映射到中的其他枚举值。以下是我到目前为止的代码: 当我尝试编译它时,我得到了错误:
假设我有这样的映射: 现在,我需要将子列表映射到子列表,但它们都有相同的父对象。我希望这样做: 但不管用,有机会做吗?
我有一个实体,看起来像这样: 输入数据是一个
我有这个代码: 它产生的是 很高兴我应该如何写映射方法来得到一个地图,它会给我:
问题内容: 我有一个带有以下签名的类: 我想要一个来自a 的键,该键将是该类的名称。我如何使用java8流按es名称对列表进行分组?所有es在名称上都是唯一的。 可以在单个流中求解,还是应该以某种方式拆分它还是采用经典解决方案? 问题答案: