1 對字元串數組按組容量進行分組
[1,2,3,4]---->[[1,3],[2,4]]
[1,2,3]---->[[1,3],[2]]
/**
* 根據組容量,對一個數組的元素進行分組,元件元素個數內插補點不超過1
*
* @param arr 要進行分組的數組
* @param group_size 組的最大容量
* @return 傳回字元串數組
*/
public static String[] fenzu(String[] arr, int group_size) {
// 1 組容量異常處理
if (group_size < 1) {
group_size = 1;
}
// 2 擷取分組數
int group_num = (int) Math.ceil(1.0 * arr.length / group_size);
// 3 定義變量, 循環找出每組的元素
StringBuilder res_str = new StringBuilder();
for (int i = 0; i < group_num; i++) {
// 目前組元素擷取,(注意: 步距為組數)
StringBuilder tmp_str = new StringBuilder();
for (int j = i; j < arr.length; j += group_num) {
tmp_str.append(",").append(arr[j]);
}
// 儲存目前組元素
res_str.append(i + 1).append("=").append(tmp_str.toString().substring(1));
// 增加組間分隔符
if (i + 1 < group_num) {
res_str.append("|");
}
}
// 3 傳回結果
return res_str.toString().split("\\|");
}