有人可以给出以下python的Java等价物(将给定的数组切成给定的部分),最初由ChristopheD编写:
def split_list(alist, wanted_parts=1):
length = len(alist)
return [ alist[i*length // wanted_parts: (i+1)*length // wanted_parts]
for i in range(wanted_parts) ]
我不知道任何python,但可以在我的Java应用程序中使用上面的代码。感谢
答案 0 :(得分:1)
也许是这样的:
List<List<T>> splitList(List<T> alist, int wantedParts) {
ArrayList<List<T>> result = new ArrayList<List<T>>();
int length = alist.length;
for (int i = 0; i < wantedParts; i++) {
result.append(alist.subList(i*length/wantedParts,
(i+1)*length/wantedParts));
}
return result;
}
如果以后以任何方式对alist
进行结构修改,则必须在代码中复制由subList
方法创建的子列表,否则结果将无法预测。< / p>
答案 1 :(得分:0)
不要重新发明轮子,google collections api有一个名为partition的功能,它正是这样做的