boolean fastMode = true; if (((double) tableSize / elementSize) < GROWTH_FACTOR) { keyTable = new int[(int) (elementSize * GROWTH_FACTOR)]; valueTable = new int[(int) (elementSize * GROWTH_FACTOR)]; elementSize = 0; fastMode = false; } else { keyTable = new int[tableSize]; valueTable = new int[tableSize]; } for (int i = 0; i < tableSize; i++) { int key = in.readInt(); int value = in.readInt(); if (fastMode) { keyTable[i] = key; valueTable[i] = value; } else { put(key, value); } }
byte[] inBuffer = new byte[tableSize * 4]; in.readFully(inBuffer); keyTable = ByteToInt(inBuffer); in.readFully(inBuffer); valueTable = ByteToInt(inBuffer);
	public void load(DataInputStream in) throws IOException {		elementSize = in.readInt();		int tableSize = in.readInt();		threshold = in.readInt();		boolean fastMode = true;		if (((double) tableSize / elementSize) < GROWTH_FACTOR) {			keyTable = new int[(int) (elementSize * GROWTH_FACTOR)];			valueTable = new int[(int) (elementSize * GROWTH_FACTOR)];			elementSize = 0;			fastMode = false;		} else {			keyTable = new int[tableSize];			valueTable = new int[tableSize];		}		for (int i = 0; i < tableSize; i++) {			int key = in.readInt();			int value = in.readInt();			if (fastMode) {				keyTable[i] = key;				valueTable[i] = value;			} else {				put(key, value);			}		}	}