Java编程题记录

如题:已知数组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;
	}

 

おすすめ

転載: blog.csdn.net/qq_36100599/article/details/102586675