public boolean contains(final int value) { int index = intHash(value, mask); while (values[index] != missingValue) { if (values[index] == value) { return true; } index = next(index); } return false; }
public boolean contains(final int value) { int index = intHash(value, mask); while (values[index] != missingValue) { if (values[index] == value) { return true; } index = next(index); } return false; }
private void compactChain(int deleteIndex) { final int[] values = this.values; int index = deleteIndex; while (true) { index = next(index); if (values[index] == missingValue) { return; } final int hash = intHash(values[index], mask); if ((index < hash && (hash <= deleteIndex || deleteIndex <= index)) || (hash <= deleteIndex && deleteIndex <= index) ) { values[deleteIndex] = values[index]; values[index] = missingValue; deleteIndex = index; } } }
private void compactChain(int deleteIndex) { final int[] values = this.values; int index = deleteIndex; while (true) { index = next(index); if (values[index] == missingValue) { return; } final int hash = intHash(values[index], mask); if ((index < hash && (hash <= deleteIndex || deleteIndex <= index)) || (hash <= deleteIndex && deleteIndex <= index) ) { values[deleteIndex] = values[index]; values[index] = missingValue; deleteIndex = index; } } }
/** * Primitive specialised overload of {this#add(Integer)} * * @param value the value to add * @return true if the collection has changed, false otherwise */ public boolean add(final int value) { if (size == capacity) { throw new IllegalStateException("This IntHashSet of capacity " + capacity + " is full"); } int index = intHash(value, mask); while (values[index] != missingValue) { if (values[index] == value) { return false; } index = next(index); } values[index] = value; size++; return true; }
/** * Primitive specialised overload of {this#add(Integer)} * * @param value the value to add * @return true if the collection has changed, false otherwise */ public boolean add(final int value) { if (size == capacity) { throw new IllegalStateException("This IntHashSet of capacity " + capacity + " is full"); } int index = intHash(value, mask); while (values[index] != missingValue) { if (values[index] == value) { return false; } index = next(index); } values[index] = value; size++; return true; }
/** * An int specialised version of {this#remove(Object)}. * * @param value the value to remove * @return true if the value was present, false otherwise */ public boolean remove(final int value) { int index = intHash(value, mask); while (values[index] != missingValue) { if (values[index] == value) { values[index] = missingValue; compactChain(index); return true; } index = next(index); } return false; }
/** * An int specialised version of {this#remove(Object)}. * * @param value the value to remove * @return true if the value was present, false otherwise */ public boolean remove(final int value) { int index = intHash(value, mask); while (values[index] != missingValue) { if (values[index] == value) { values[index] = missingValue; compactChain(index); return true; } index = next(index); } return false; }