问题描述
FundingRank和SourceBucket是枚举,但本质上是int
enum FundingRank {
LESS_THAN_0(0),LESS_THAN_1(1),LESS_THAN_100(100);
private final int rank;
FundingRank(int i) {
this.rank = i;
}
}
enum ScoreBucket {
MORE_THAN_1000(1000),MORE_THAN_500(1000),MORE_THAN_100(100),MORE_THAN_10(10);
private final int bucket;
ScoreBucket(int i) {
this.bucket = i;
}
}
我有一个TreeMap<FundingRank,TreeMap<scoreBucket,List<Kids>> >
拥有类似的数据
fundingRank scoreBucket List<Kids>
0 1000 List(with 1 elements)
500 List(with 2 elements)
100 List(with 4 elements)
10 List(with 3 elements)
1 1000 List(with 4 elements)
500 List(with 7 elements)
100 List(with 4 elements)
10 List(with 3 elements)
现在,我想找到最小5个孩子的最小fundingRank
和最大scoreBucket
,如果不是,则找到最小fundingRank
和最大scoreBucket
myMap.entrySet().stream()
.filter(e -> e.getvalue().entryset().stream()
.filter(e2 ->e2.getvalue().size()).findfirst();
Output sorted map like this:
1 500 List(with 7 elements)
0 100 List(with 4 elements)
1 1000 List(with 4 elements)
1 100 List(with 4 elements)
0 10 List(with 3 elements)
...
因此,我正在尝试对TreeMap
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)