【发布时间】:2021-03-22 09:53:36
【问题描述】:
如何将 Flux 转换为 Flux
我有一个 Flux -> {1,2,3,.....100} 我想按 30 个数字对它们进行分组 -> [[1,2,3,.....30 ], [31,32....60],[61.....100]]
我尝试了以下方法,但没有成功。元素被分组为 5 [ [1,2,3,4,5], [6,7,8,9,10],.....]
Flux<int[][]> groupedData = fluxData.map(x -> {
int outerArraySize = (int) Math.ceil(x.size() / 30) +1;
System.out.println(outerArraySize);
int[][] boxedData = new int[30][outerArraySize];
AtomicInteger innerArray = new AtomicInteger(0);
AtomicInteger outerArray = new AtomicInteger(0);
x.forEach(ids -> {
boxedData[innerArray.get()][outerArray.get()] = ids;
innerArray.getAndIncrement();
if (innerArray.get() == 30) {
innerArray.set(0);
outerArray.getAndIncrement();
}
});
【问题讨论】:
-
什么是
Flux?Flux的map方法有什么作用?
标签: spring-boot java-8 java-stream reactive-streams