我想创建一个Map<String,List<A>>A包含B 的地方,groupby由B的属性创建.
public class A{
private int a;
private ...
private B b;
}
public class B{
private String name;
private ...
}
Run Code Online (Sandbox Code Playgroud)
我有一个
List<A> alist;
Run Code Online (Sandbox Code Playgroud)
我想做那样的事情:
Map<String, List<A>> resultmap = alist.stream().collect(Collectors.groupingby(B::getName()));
Run Code Online (Sandbox Code Playgroud)
除了这是不可能访问B.
我得到了字符串数组列表,如何将它们减少为哈希映射
输入:[a, b, a, a, c, x]
输出:{(a: 3), (b: 1), (c: 1), (x: 1)}
附言。我搜索了这个。我需要这样做,reduce而不是像其他问题那样使用频率计数,因为我的问题是一个简化的实际任务。