guava/src/com/google/common/collect/MultimapBuilder.java
public static MultimapBuilderWithKeys<Object> linkedHashKeys(final int expectedKeys) {
    checkNonnegative(expectedKeys, "expectedKeys");
    return new MultimapBuilderWithKeys<Object>() {
      @Override
      <K, V> Map<K, Collection<V>> createMap() {
        return Platform.newLinkedHashMapWithExpectedSize(expectedKeys);
      }
    };
  }
public static MultimapBuilderWithKeys<Object> linkedHashKeys(final int expectedKeys) {
    checkNonnegative(expectedKeys, "expectedKeys");
    return new MultimapBuilderWithKeys<Object>() {
      @Override
      <K, V> Map<K, Collection<V>> createMap() {
        return Platform.newLinkedHashMapWithExpectedSize(expectedKeys);
      }
    };
  }
public static MultimapBuilderWithKeys < Object > linkedHashKeys ( final int expectedKeys ) { checkNonnegative ( expectedKeys , "expectedKeys" ) ; return new MultimapBuilderWithKeys < Object > ( ) { @ Override < K , V > Map < K , Collection < V > > createMap ( ) { return Platform . newLinkedHashMapWithExpectedSize ( expectedKeys ) ; } } ; }
Uses an hash table to map keys to value collections, initialized to expect the specified number
of keys.

<p>The collections returned by {@link Multimap#keySet()}, {@link Multimap#keys()}, and {@link
Multimap#asMap()} will iterate through the keys in the order that they were first added to the
multimap, save that if all values associated with a key are removed and then the key is added
back into the multimap, that key will come last in the key iteration order.
Uses an hash table to map keys to value collections initialized to expect the specified number of keys .