Java數組分隔成子數組
阿新 • • 發佈:2019-01-30
ring key color length ubi count main sys con
有這樣一個需求,循環數組輸出動態表單為一行兩列
分隔數組每兩個為一組,如果單數最後一個為一組
import java.util.ArrayList;
import java.util.List;
public class SplitArray {
public static void main(String[] args) {
String ary[] = { "a", "b", "c", "d", "e" }; // 分隔的數組
int splitSize = 2; // 分隔的大小
Object subAry[] = splitAry(ary, splitSize);
for (Object obj : subAry) {
String subItem[] = (String[]) obj;
for (int i = 0; i < subItem.length; i++) {
System.out.print(subItem[i] + ",");
}
System.out.println();
}
}
/**
* 比如 { "a", "b", "c", "d", "e" }
* 分隔成
* a, b
* c, d
* e
*/
private static Object[] splitAry(String ary[], int subSize) {
int count = ary.length % subSize == 0 ? ary.length / subSize
: ary.length / subSize + 1;
List<List<String>> subAryList = new ArrayList<List<String>>();
for (int i = 0; i < count; i++) {
int index = i * subSize;
List<String> list = new ArrayList<String>();
int j = 0;
while (j < subSize && index < ary.length) {
list.add(ary[index++]);
j++;
}
subAryList.add(list);
}
// 將List<List<String>> 封裝為 Object[],也可以不需要
Object[] subAry = new Object[subAryList.size()];
for (int i = 0; i < subAryList.size(); i++) {
List<String> subList = subAryList.get(i);
String[] subAryItem = new String[subList.size()];
for (int j = 0; j < subList.size(); j++) {
subAryItem[j] = subList.get(j);
}
subAry[i] = subAryItem;
}
return subAry;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
作者:itmyhome
再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow
Java數組分隔成子數組