Java分割数组成子数组
我有一个 2000多长度的数组,我要分割成40个50长度的子数组,怎么实现 ?
问题补充:
我需要的结果是这样的: 把这个数组 int[] sum = {0,1,2,3,4,5,……,18}; 分成 int[] a = {0,1,2,3,4}; //长度5 int[] b = {5,6,7,8,9}; //长度5 int[] c = {10,11,12,13,14}; //长度5 int[] d = {15,16,17,18}; //长度4
import java.util.ArrayList; import java.util.List; public class ABC { public static void main(String[] args) { int[] ary = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};//要分割的数组 int splitSize = 5;//分割的块大小 Object[] subAry = splitAry(ary, splitSize);//分割后的子块数组 for(Object obj: subAry){//打印输出结果 int[] aryItem = (int[]) obj; for(int i = 0; i < aryItem.length; i++){ System.out.print(aryItem[i] + ", "); } System.out.println(); } } private static Object[] splitAry(int[] ary, int subSize) { int count = ary.length % subSize == 0 ? ary.length / subSize: ary.length / subSize + 1; List<List<Integer>> subAryList = new ArrayList<List<Integer>>(); for (int i = 0; i < count; i++) { int index = i * subSize; List<Integer> list = new ArrayList<Integer>(); int j = 0; while (j < subSize && index < ary.length) { list.add(ary[index++]); j++; } subAryList.add(list); } Object[] subAry = new Object[subAryList.size()]; for(int i = 0; i < subAryList.size(); i++){ List<Integer> subList = subAryList.get(i); int[] subAryItem = new int[subList.size()]; for(int j = 0; j < subList.size(); j++){ subAryItem[j] = subList.get(j).intValue(); } subAry[i] = subAryItem; } return subAry; } }
------------------ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: DBLINK的session无法关闭,报异常!
- 下一篇: 防止用户重复登陆