static IntBuffer intArrayToNonZeroTable(int[] array) { // some reasonable compromise for initial size IntBuffer buf = new(array.length); for i over array: { int value = array[i]; if (value != 0) { buf.add(i); buf.add(value); } } ret buf; }