如题:已知数组arr,分割符sp,获取新的二维数组?
例如:[1, 2, 0, 5, 6, 7, 0, 6, 5],分隔符为:0,得到:[[1, 2], [5, 6, 7], [6, 5]]。
private static byte[][] getByteTest(byte[] arr, byte sp){
List<List<Byte>> list = new ArrayList<>();
List<Byte> bs = new ArrayList<>();// 子数组的容器
for (int i = 0; i < arr.length; i++) {
if(arr[i] == sp) {
list.add(bs);
bs = new ArrayList<>();
}else {
bs.add(arr[i]);
}
if(i == arr.length - 1 && bs.size() != 0) {
list.add(bs);
bs = new ArrayList<>();
}
}
System.out.println(list); //到这步已经得到结果了
// List To Array
byte[][] tow = new byte [list.size()][];
for (int i = 0; i < list.size(); i++) {
byte[] btArr = new byte[list.get(i).size()];
for (int j = 0; j < list.get(i).size(); j++) {
byte b = list.get(i).get(j);
btArr[j] = b;
}
tow[i] = btArr;
}
return tow;
}