@SuppressWarnings("unchecked") public SimpleHashTable(int capacity, int bucketSize, boolean unbounded) { U.must(capacity > 0, "The capacity must be a positive number!"); if (bucketSize <= 0) bucketSize = DEFAULT_BUCKET_SIZE; int factor = calcSizeFactor(capacity, bucketSize); int width = calcWidth(factor); this.bucketSize = bucketSize; this.buckets = new SimpleList[width]; this.factor = factor; this.hashMask = Nums.bitMask(factor); U.must(capacity <= capacity(), "capacity=%s, realCapacity=%s, bucketSize=%s", capacity, capacity(), bucketSize); for (int i = 0; i < buckets.length; i++) { buckets[i] = createBucket(bucketSize, unbounded); } }