为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
暂无答案!
目前还没有任何答案,快来回答吧!