分区只有true和false的两个分区么,假设有三个区如何分呢

来源:3-17 实战案例预定义收集器

夏目鲸鱼

2021-01-16

比如按照price区间
第一分区: 0-100
第一分区: 101-200
第三分区:>200

写回答

1回答

qq_SilenceAssas_0

2021-01-19

一次partitionBy的返回结果固定是Map<Boolean,List<T>>,也就是一次分区最多分出2个区,一个true一个false的。继而说明如果想通过一次分区解决楼主这个三个分区的问题是不可能的。

但可以在前一次分区的结果基础上再次做分区就可以了,虽然有点笨拙,但的确是一种解决方式。也就是一次分区是判断price<=100,然后再false的结果集上再次对price<=200进行分区。如果区间够多的话,这种逻辑可以用递归的方式实现就显得高大上了不是~

希望可以解决楼主的问题。

1
1
夏目鲸鱼
非常感谢!
2021-01-24
共1条回复

Java高效编程技巧实践 告别996

可以改变的编程效率

1451 学习 · 326 问题

查看课程