java—如何高效地创建最小n个分区的列表?

cunj1qz1  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(185)

为list.size()%n=0的列表创建n个分区非常简单,但是有没有一种方法可以在不满足此条件时简洁地执行此操作?

Map<Integer, List<InputRecord>> groupedRecords = new HashMap<>();
    for (int i = 0; i < numGroups; i++) {
        groupedRecords.put(i, inputRecords.subList(i * N, (i * N) + N));
    }

上面的方法是可行的,但是如果列表没有被分成n个分区,那么就可以有一个<n个大小的列表,这不符合n个大小分区的条件。
我能想到的唯一解决方案是随机选择分区大小>n和<n+random(10),然后“窥视”后面剩下的内容,如果大小小于n,则将其包含在分区中,但这看起来并不干净。有更好的办法吗?
约束:list.size()>n>=3

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题