android/guava/src/com/google/common/cache/CacheBuilder.java
public CacheBuilder<K, V> initialCapacity(int initialCapacity) {
    checkState(
        this.initialCapacity == UNSET_INT,
        "initial capacity was already set to %s",
        this.initialCapacity);
    checkArgument(initialCapacity >= 0);
    this.initialCapacity = initialCapacity;
    return this;
  }
public CacheBuilder<K, V> initialCapacity(int initialCapacity) {
    checkState(
        this.initialCapacity == UNSET_INT,
        "initial capacity was already set to %s",
        this.initialCapacity);
    checkArgument(initialCapacity >= 0);
    this.initialCapacity = initialCapacity;
    return this;
  }
public CacheBuilder < K , V > initialCapacity ( int initialCapacity ) { checkState ( this . initialCapacity == UNSET_INT , "initial capacity was already set to %s" , this . initialCapacity ) ; checkArgument ( initialCapacity >= 0 ) ; this . initialCapacity = initialCapacity ; return this ; }
Sets the minimum total size for the internal hash tables. For example, if the initial capacity
is {@code 60}, and the concurrency level is {@code 8}, then eight segments are created, each
having a hash table of size eight. Providing a large enough estimate at construction time
avoids the need for expensive resizing operations later, but setting this value unnecessarily
high wastes memory.

@return this {@code CacheBuilder} instance (for chaining)
@throws IllegalArgumentException if {@code initialCapacity} is negative
@throws IllegalStateException if an initial capacity was already set
Sets the minimum total size for the internal hash tables . For example if the initial capacity is { @code 60 } and the concurrency level is { @code 8 } then eight segments are created each having a hash table of size eight . Providing a large enough estimate at construction time avoids the need for expensive resizing operations later but setting this value unnecessarily high wastes memory .