/** * An implementation of {@link Multiset#removeAll}. */ static boolean removeAllImpl(Multiset<?> self, Collection<?> elementsToRemove) { Collection<?> collection = (elementsToRemove instanceof Multiset) ? ((Multiset<?>) elementsToRemove).elementSet() : elementsToRemove; return self.elementSet().removeAll(collection); }
/** * Returns the expected number of distinct elements given the specified * elements. The number of distinct elements is only computed if {@code * elements} is an instance of {@code Multiset}; otherwise the default value * of 11 is returned. */ static int inferDistinctElements(Iterable<?> elements) { if (elements instanceof Multiset) { return ((Multiset<?>) elements).elementSet().size(); } return 11; // initial capacity will be rounded up to 16 }
Set<E> createElementSet() { return Collections.<E>unmodifiableSet(delegate.elementSet()); }
@Override Set<E> createElementSet() { return Sets.union(multiset1.elementSet(), multiset2.elementSet()); }
@Override Set<E> createElementSet() { return Sets.intersection(multiset1.elementSet(), multiset2.elementSet()); }
/** * An implementation of {@link Multiset#retainAll}. */ static boolean retainAllImpl(Multiset<?> self, Collection<?> elementsToRetain) { checkNotNull(elementsToRetain); Collection<?> collection = (elementsToRetain instanceof Multiset) ? ((Multiset<?>) elementsToRetain).elementSet() : elementsToRetain; return self.elementSet().retainAll(collection); }
@Override Set<E> createElementSet() { return Sets.union(multiset1.elementSet(), multiset2.elementSet()); }
@Override public Set<N> predecessors() { return Collections.unmodifiableSet(predecessorsMultiset().elementSet()); }
@Override public Set<N> successors() { return Collections.unmodifiableSet(successorsMultiset().elementSet()); }
@Override public Set<E> elementSet() { synchronized (mutex) { if (elementSet == null) { elementSet = typePreservingSet(delegate().elementSet(), mutex); } return elementSet; } }
@Override public Set<N> adjacentNodes() { return Collections.unmodifiableSet(adjacentNodesMultiset().elementSet()); }
@Override Set<E> createElementSet() { return Sets.filter(unfiltered.elementSet(), predicate); }
@Override public Set<E> elementSet() { return delegate().elementSet(); }
static boolean removeAllImpl(Set<?> set, Collection<?> collection) { checkNotNull(collection); // for GWT if (collection instanceof Multiset) { collection = ((Multiset<?>) collection).elementSet(); } /* * AbstractSet.removeAll(List) has quadratic behavior if the list size * is just less than the set's size. We augment the test by * assuming that sets have fast contains() performance, and other * collections don't. See * http://code.google.com/p/guava-libraries/issues/detail?id=1013 */ if (collection instanceof Set && collection.size() > set.size()) { return Iterators.removeAll(set.iterator(), collection); } else { return removeAllImpl(set, collection.iterator()); } }
targets = ((Multiset<?>) targets).elementSet();