@Override public Spliterator<V> spliterator() { return CollectSpliterators.map(map.entrySet().spliterator(), Entry::getValue); }
Spliterator<K> keySpliterator() { return CollectSpliterators.map(entrySet().spliterator(), Entry::getKey); }
@Override public Spliterator<V> spliterator() { return CollectSpliterators.map(map.entrySet().spliterator(), Entry::getValue); }
Spliterator<K> keySpliterator() { return CollectSpliterators.map(entrySet().spliterator(), Entry::getKey); }
@Override Spliterator<Entry<K, V>> entrySpliterator() { return CollectSpliterators.flatMap( asMap().entrySet().spliterator(), keyToValueCollectionEntry -> { K key = keyToValueCollectionEntry.getKey(); Collection<V> valueCollection = keyToValueCollectionEntry.getValue(); return CollectSpliterators.map( valueCollection.spliterator(), (V value) -> Maps.immutableEntry(key, value)); }, Spliterator.SIZED | (this instanceof SetMultimap ? Spliterator.DISTINCT : 0), size()); }
@GwtIncompatible("assumptions about splitting") public void testKeySetSplittable() { ImmutableMap<Integer, Integer> map = ImmutableMap.<Integer, Integer>builder() .put(1, 1) .put(2, 2) .put(3, 3) .put(4, 4) .put(5, 5) .put(6, 6) .build(); assertNotNull(map.keySet().spliterator().trySplit()); }
@Override Spliterator<Entry<K, V>> entrySpliterator() { return CollectSpliterators.flatMap( asMap().entrySet().spliterator(), keyToValueCollectionEntry -> { K key = keyToValueCollectionEntry.getKey(); Collection<V> valueCollection = keyToValueCollectionEntry.getValue(); return CollectSpliterators.map( valueCollection.spliterator(), (V value) -> Maps.immutableEntry(key, value)); }, Spliterator.SIZED | (this instanceof SetMultimap ? Spliterator.DISTINCT : 0), size()); }
@Override public Spliterator<V> spliterator() { return CollectSpliterators.map(map.entrySet().spliterator(), Entry::getValue); }
Spliterator<K> keySpliterator() { return CollectSpliterators.map(entrySet().spliterator(), Entry::getKey); }
@Override public Spliterator<V> spliterator() { return CollectSpliterators.map(map.entrySet().spliterator(), Entry::getValue); }
Spliterator<K> keySpliterator() { return CollectSpliterators.map(entrySet().spliterator(), Entry::getKey); }
@Override Spliterator<Entry<K, V>> entrySpliterator() { return CollectSpliterators.flatMap( asMap().entrySet().spliterator(), keyToValueCollectionEntry -> { K key = keyToValueCollectionEntry.getKey(); Collection<V> valueCollection = keyToValueCollectionEntry.getValue(); return CollectSpliterators.map( valueCollection.spliterator(), (V value) -> Maps.immutableEntry(key, value)); }, Spliterator.SIZED | (this instanceof SetMultimap ? Spliterator.DISTINCT : 0), size()); }
@Override Spliterator<Entry<K, V>> entrySpliterator() { return CollectSpliterators.flatMap( asMap().entrySet().spliterator(), keyToValueCollectionEntry -> { K key = keyToValueCollectionEntry.getKey(); Collection<V> valueCollection = keyToValueCollectionEntry.getValue(); return CollectSpliterators.map( valueCollection.spliterator(), (V value) -> Maps.immutableEntry(key, value)); }, Spliterator.SIZED | (this instanceof SetMultimap ? Spliterator.DISTINCT : 0), size()); }
@GwtIncompatible("assumptions about splitting") public void testKeySetSplittable() { ImmutableMap<Integer, Integer> map = ImmutableMap.<Integer, Integer>builder() .put(1, 1) .put(2, 2) .put(3, 3) .put(4, 4) .put(5, 5) .put(6, 6) .build(); assertNotNull(map.keySet().spliterator().trySplit()); }