将一个数组按照固定大小进行拆分成数组的方法
发布时间:2020-12-30 12:36:02 所属栏目:Java 来源:互联网
导读:如下所示:/***ArraySplit.java*Copyright(C)2014*/packagecom.udpdemo.test2;importjava.util.ArrayList;
|
如下所示:
/**
* ArraySplit.java
* Copyright(C) 2014
*/
package com.udpdemo.test2;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author cuiran
* @version 1.0.0
*/
public class ArraySplit {
/**
* @param args
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] ary = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};//要分割的数组
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();
}
}
/**
* splitAry方法<br>
* @param ary 要分割的数组
* @param subSize 分割的块大小
* @return
*
*/
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;
}
}
以上这篇将一个数组按照固定大小进行拆分成数组的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 (编辑:哈尔滨站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
