/** * Returns an immutable set of the keys in this map, in the same order that they appear in {@link * #entrySet}. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map, in the same order that they appear in {@link * #entrySet}. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
abstract static class IteratorBasedImmutableMap<K, V> extends ImmutableMap<K, V> { abstract UnmodifiableIterator<Entry<K, V>> entryIterator(); @Override ImmutableSet<K> createKeySet() { return new ImmutableMapKeySet<>(this); } @Override ImmutableSet<Entry<K, V>> createEntrySet() { @WeakOuter class EntrySetImpl extends ImmutableMapEntrySet<K, V> { @Override ImmutableMap<K, V> map() { return IteratorBasedImmutableMap.this; } @Override public UnmodifiableIterator<Entry<K, V>> iterator() { return entryIterator(); } } return new EntrySetImpl(); } @Override ImmutableCollection<V> createValues() { return new ImmutableMapValues<>(this); } }
/** * Returns an immutable set of the keys in this map. These keys are in * the same order as the parameters used to build this map. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map. These keys are in * the same order as the parameters used to build this map. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map. These keys are in * the same order as the parameters used to build this map. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map. These keys are in * the same order as the parameters used to build this map. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map. These keys are in * the same order as the parameters used to build this map. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map. These keys are in * the same order as the parameters used to build this map. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map, in the same order that they appear in {@link * #entrySet}. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map. These keys are in * the same order as the parameters used to build this map. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map, in the same order that they appear in {@link * #entrySet}. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
/** * Returns an immutable set of the keys in this map. These keys are in * the same order as the parameters used to build this map. */ @Override public ImmutableSet<K> keySet() { ImmutableSet<K> result = keySet; return (result == null) ? keySet = createKeySet() : result; }
@Override ImmutableSet<K> createKeySet() { return isFull() ? keyToIndex().keySet() : super.createKeySet(); }
@Override ImmutableSet<K> createKeySet() { return isFull() ? keyToIndex().keySet() : super.createKeySet(); }
@Override ImmutableSet<K> createKeySet() { return isFull() ? keyToIndex().keySet() : super.createKeySet(); }
@Override ImmutableSet<K> createKeySet() { return isFull() ? keyToIndex().keySet() : super.createKeySet(); }
@Override ImmutableSet<K> createKeySet() { return isFull() ? keyToIndex().keySet() : super.createKeySet(); }
@Override ImmutableSet<K> createKeySet() { return isFull() ? keyToIndex().keySet() : super.createKeySet(); }
@Override ImmutableSet<K> createKeySet() { return isFull() ? keyToIndex().keySet() : super.createKeySet(); }