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;
}
}
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)
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
如果要查找[fundingRank,scoreBucket,list_Kids]
三元组,其最小fundingRank
和最大scorebuck
,但只考虑包含5个以上子组的三元组,则可以将外部和内部映射的条目流式传输,并使用自定义的比较器
来查找:
Optional<Map.Entry<FundingRank, Map.Entry<ScoreBucket, Integer>>> triplet =
outerMap.entrySet().stream()
.flatMap(outerEntry -> outerEntry.getValue().entrySet().stream()
.map(innerEntry -> Map.entry(
outerEntry.getKey(),
Map.entry(innerEntry.getKey(), innerEntry.getValue().size()))))
.min(Comparator.comparingInt(t -> t.getValue().getValue() >= 5 ? 0 : 1)
.thenComparing(t -> t.getKey())
.thenComparing(t -> t.getValue().getKey(), Comparator.reverseOrder())
.thenComparing(t -> t.getValue().getValue(), Comparator.reverseOrder()));
triplet.ifPresent(it -> /* do something with the triplet */);
这将创建作为map.entry
的三元组,并根据给定的comparator
查找最小三元组,(我希望)它满足您的要求。
我们在stream.min
中使用比较器
,该比较器首先根据0
或1
进行排序,后者是一个标志,指定是否有5个以上的子级。如果有5个以上的孩子,则此标志为0
,因此首先显示有5个以上孩子的三胞胎。然后,比较器按fundingrank
升序进行排序,然后按scorebucket
降序进行排序,最后,如果有平局,则按降序的实际子数进行排序(以防万一)。
这里,我使用Java9+的map.entry(...)
方法创建条目。如果您使用的是Java8,应该使用new AbstractMap.SimpleEntry(...)
创建条目。
我正在尝试从支持库中实现。我希望用户使用在中筛选电影的。 到目前为止,我已经学习了一些教程,并且已经将添加到中,但我不确定从这里要往哪走。我已经看到了一些例子,但没有一个显示结果,当您开始键入。 这是我的: 这是我的:
问题内容: 在纯postgres中,我们可以编写: 或者 没有原始sql的情况下如何在sqlalchemy的帮助下进行相同的操作? 问题答案: 等于1。 因此,您可以使用该方法。 我不记得曾经使用PostgreSQL多年。你? 如果您要处理 数组列, 并想测试该 列中 是否包含给定元素(或给定数组的所有元素),则可以利用PostgreSQL数组运算符 ()或更合适地利用反同级 ()。 数组运算符的
如何在枚举的帮助下筛选我的“StorageManager”在其名为“items”的LinkedList中的项目?受此筛选器影响的项目需要复制到新的LinkedList中。我用buyNewItem()将项目添加到存储管理器列表中,但第二项任务需要帮助。 如果我忘记添加一些重要信息,请让我知道。 编辑:仅允许重新导入的是 导入java.util.数组; 导入java.util.LinkedList;
本文向大家介绍jQuery多条件筛选如何实现,包括了jQuery多条件筛选如何实现的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery实现多条件筛选特效。分享给大家供大家参考。具体如下: 我们在电商平台购买商品时,在商品列表页根据品牌、款式、价格范围等条件进行筛选查询,当点击某个条件时,在页面上会显示用户所选择的条件集合,并且将对应的符合条件的商品信息展示出来。那么今天我们使用jQ
若要用单个列过滤数据文件(DF),如果我们考虑有男性和女性的数据,我们可以: 问题1——但如果数据跨越多年,而我只想看到2014年的男性会怎样? 在其他语言中,我可能会这样做: (除非我想这样做并在新的dataframe对象中获取原始dataframe的子集) 问题2。我如何在一个循环中实现这一点,并为每个独特的年份和性别集(即:2013年男性、2013年女性、2014年男性和2014年女性)创建
本文向大家介绍sqlalchemy 筛选,包括了sqlalchemy 筛选的使用技巧和注意事项,需要的朋友参考一下 示例 给定以下模型 您可以过滤查询中的列: 对于第一种情况,有一个快捷方式: 可以使用AND关系通过链接filter方法来构成过滤器: 或更灵活地使用重载按位运算符&和|: 不要忘记内括号来处理运算符优先级。