public String find(char[] buf, int start, int len) { String sym = mSymbol; Bucket b = mNext; while (true) { // Inlined equality comparison: if (sym.length() == len) { int i = 0; do { if (sym.charAt(i) != buf[start+i]) { break; } } while (++i < len); if (i == len) { return sym; } } if (b == null) { break; } sym = b.getSymbol(); b = b.getNext(); } return null; }
} else { int bix = index >> 1; mBuckets[bix] = new Bucket(symbol, mBuckets[bix]); while (b != null) { ++count; String symbol = b.getSymbol(); int index = calcHash(symbol) & mIndexMask; if (mSymbols[index] == null) { } else { int bix = index >> 1; mBuckets[bix] = new Bucket(symbol, mBuckets[bix]); b = b.getNext();