/** * A sensible definition of {@link #addAll(Collection)} in terms of {@link #add(Object)} and * {@link #add(Object, int)}. If you override either of these methods, you may wish to override * {@link #addAll(Collection)} to forward to this implementation. * * @since 7.0 */ @Beta @Override protected boolean standardAddAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * A sensible definition of {@link #addAll(Collection)} in terms of {@link #add(Object)} and * {@link #add(Object, int)}. If you override either of these methods, you may wish to override * {@link #addAll(Collection)} to forward to this implementation. * * @since 7.0 */ @Beta @Override protected boolean standardAddAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * {@inheritDoc} * * <p>This implementation is highly efficient when {@code elementsToAdd} is itself a {@link * Multiset}. */ @CanIgnoreReturnValue @Override public final boolean addAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * A sensible definition of {@link #addAll(Collection)} in terms of {@link #add(Object)} and * {@link #add(Object, int)}. If you override either of these methods, you may wish to override * {@link #addAll(Collection)} to forward to this implementation. * * @since 7.0 */ @Beta @Override protected boolean standardAddAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** An implementation of {@link Multiset#addAll}. */ static <E> boolean addAllImpl(Multiset<E> self, Collection<? extends E> elements) { checkNotNull(self); checkNotNull(elements); if (elements instanceof Multiset) { return addAllImpl(self, cast(elements)); } else if (elements.isEmpty()) { return false; } else { return Iterators.addAll(self, elements.iterator()); } }
/** * {@inheritDoc} * * <p>This implementation is highly efficient when {@code elementsToAdd} is itself a {@link * Multiset}. */ @CanIgnoreReturnValue @Override public final boolean addAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * {@inheritDoc} * * <p>This implementation is highly efficient when {@code elementsToAdd} is itself a {@link * Multiset}. */ @CanIgnoreReturnValue @Override public final boolean addAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** An implementation of {@link Multiset#addAll}. */ static <E> boolean addAllImpl(Multiset<E> self, Collection<? extends E> elements) { checkNotNull(self); checkNotNull(elements); if (elements instanceof Multiset) { return addAllImpl(self, cast(elements)); } else if (elements.isEmpty()) { return false; } else { return Iterators.addAll(self, elements.iterator()); } }
/** * Implementation of the {@code equals}, {@code hashCode}, and {@code toString} methods of {@link * Multiset.Entry}. */ abstract static class AbstractEntry<E> implements Multiset.Entry<E> { /** * Indicates whether an object equals this entry, following the behavior specified in {@link * Multiset.Entry#equals}. */ @Override public boolean equals(@NullableDecl Object object) { if (object instanceof Multiset.Entry) { Multiset.Entry<?> that = (Multiset.Entry<?>) object; return this.getCount() == that.getCount() && Objects.equal(this.getElement(), that.getElement()); } return false; } /** * Return this entry's hash code, following the behavior specified in {@link * Multiset.Entry#hashCode}. */ @Override public int hashCode() { E e = getElement(); return ((e == null) ? 0 : e.hashCode()) ^ getCount(); } /**
/** * {@inheritDoc} * * <p>This implementation is highly efficient when {@code elementsToAdd} * is itself a {@link Multiset}. */ @Override public boolean addAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * {@inheritDoc} * * <p>This implementation is highly efficient when {@code elementsToAdd} * is itself a {@link Multiset}. */ @Override public boolean addAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * {@inheritDoc} * * <p>This implementation is highly efficient when {@code elementsToAdd} * is itself a {@link Multiset}. */ @Override public boolean addAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * {@inheritDoc} * * <p>This implementation is highly efficient when {@code elementsToAdd} * is itself a {@link Multiset}. */ @Override public boolean addAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * {@inheritDoc} * * <p>This implementation is highly efficient when {@code elementsToAdd} * is itself a {@link Multiset}. */ @Override public boolean addAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * A sensible definition of {@link #addAll(Collection)} in terms of {@link * #add(Object)} and {@link #add(Object, int)}. If you override either of * these methods, you may wish to override {@link #addAll(Collection)} to * forward to this implementation. * * @since 7.0 */ @Beta @Override protected boolean standardAddAll( Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * A sensible definition of {@link #addAll(Collection)} in terms of {@link #add(Object)} and * {@link #add(Object, int)}. If you override either of these methods, you may wish to override * {@link #addAll(Collection)} to forward to this implementation. * * @since 7.0 */ @Beta @Override protected boolean standardAddAll(Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * A sensible definition of {@link #addAll(Collection)} in terms of {@link * #add(Object)} and {@link #add(Object, int)}. If you override either of * these methods, you may wish to override {@link #addAll(Collection)} to * forward to this implementation. * * @since 7 */ @Beta @Override protected boolean standardAddAll( Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * A sensible definition of {@link #addAll(Collection)} in terms of {@link * #add(Object)} and {@link #add(Object, int)}. If you override either of * these methods, you may wish to override {@link #addAll(Collection)} to * forward to this implementation. * * @since 7.0 */ @Beta @Override protected boolean standardAddAll( Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** * A sensible definition of {@link #addAll(Collection)} in terms of {@link * #add(Object)} and {@link #add(Object, int)}. If you override either of * these methods, you may wish to override {@link #addAll(Collection)} to * forward to this implementation. * * @since 7.0 */ @Beta @Override protected boolean standardAddAll( Collection<? extends E> elementsToAdd) { return Multisets.addAllImpl(this, elementsToAdd); }
/** An implementation of {@link Multiset#addAll}. */ static <E> boolean addAllImpl(Multiset<E> self, Collection<? extends E> elements) { checkNotNull(self); checkNotNull(elements); if (elements instanceof Multiset) { return addAllImpl(self, cast(elements)); } else if (elements.isEmpty()) { return false; } else { return Iterators.addAll(self, elements.iterator()); } }