jimu-decompiled/sources/com/google/common/collect/AbstractMultiset.java
2025-05-13 19:24:51 +02:00

175 lines
5.1 KiB
Java

package com.google.common.collect;
import com.google.common.base.Objects;
import com.google.common.collect.Multiset;
import com.google.common.collect.Multisets;
import java.util.AbstractCollection;
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
/* loaded from: classes.dex */
abstract class AbstractMultiset<E> extends AbstractCollection<E> implements Multiset<E> {
private transient Set<E> elementSet;
private transient Set<Multiset.Entry<E>> entrySet;
class ElementSet extends Multisets.ElementSet<E> {
ElementSet() {
}
@Override // com.google.common.collect.Multisets.ElementSet
Multiset<E> c() {
return AbstractMultiset.this;
}
}
class EntrySet extends Multisets.EntrySet<E> {
EntrySet() {
}
@Override // com.google.common.collect.Multisets.EntrySet
Multiset<E> c() {
return AbstractMultiset.this;
}
@Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set
public Iterator<Multiset.Entry<E>> iterator() {
return AbstractMultiset.this.entryIterator();
}
@Override // java.util.AbstractCollection, java.util.Collection, java.util.Set
public int size() {
return AbstractMultiset.this.distinctElements();
}
}
AbstractMultiset() {
}
@Override // java.util.AbstractCollection, java.util.Collection, com.google.common.collect.Multiset
public boolean add(E e) {
add(e, 1);
return true;
}
@Override // java.util.AbstractCollection, java.util.Collection
public boolean addAll(Collection<? extends E> collection) {
return Multisets.a((Multiset) this, (Collection) collection);
}
@Override // java.util.AbstractCollection, java.util.Collection
public void clear() {
Iterators.b(entryIterator());
}
@Override // java.util.AbstractCollection, java.util.Collection, com.google.common.collect.Multiset
public boolean contains(Object obj) {
return count(obj) > 0;
}
public int count(Object obj) {
for (Multiset.Entry<E> entry : entrySet()) {
if (Objects.a(entry.a(), obj)) {
return entry.getCount();
}
}
return 0;
}
Set<E> createElementSet() {
return new ElementSet();
}
Set<Multiset.Entry<E>> createEntrySet() {
return new EntrySet();
}
abstract int distinctElements();
@Override // com.google.common.collect.Multiset
public Set<E> elementSet() {
Set<E> set = this.elementSet;
if (set != null) {
return set;
}
Set<E> createElementSet = createElementSet();
this.elementSet = createElementSet;
return createElementSet;
}
abstract Iterator<Multiset.Entry<E>> entryIterator();
@Override // com.google.common.collect.Multiset
public Set<Multiset.Entry<E>> entrySet() {
Set<Multiset.Entry<E>> set = this.entrySet;
if (set != null) {
return set;
}
Set<Multiset.Entry<E>> createEntrySet = createEntrySet();
this.entrySet = createEntrySet;
return createEntrySet;
}
@Override // java.util.Collection, com.google.common.collect.Multiset
public boolean equals(Object obj) {
return Multisets.a(this, obj);
}
@Override // java.util.Collection, com.google.common.collect.Multiset
public int hashCode() {
return entrySet().hashCode();
}
@Override // java.util.AbstractCollection, java.util.Collection
public boolean isEmpty() {
return entrySet().isEmpty();
}
@Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable
public Iterator<E> iterator() {
return Multisets.a((Multiset) this);
}
@Override // java.util.AbstractCollection, java.util.Collection, com.google.common.collect.Multiset
public boolean remove(Object obj) {
return remove(obj, 1) > 0;
}
@Override // java.util.AbstractCollection, java.util.Collection
public boolean removeAll(Collection<?> collection) {
return Multisets.b(this, collection);
}
@Override // java.util.AbstractCollection, java.util.Collection
public boolean retainAll(Collection<?> collection) {
return Multisets.c(this, collection);
}
public int setCount(E e, int i) {
return Multisets.a(this, e, i);
}
@Override // java.util.AbstractCollection, java.util.Collection, com.google.common.collect.Multiset
public int size() {
return Multisets.b((Multiset<?>) this);
}
@Override // java.util.AbstractCollection
public String toString() {
return entrySet().toString();
}
public int add(E e, int i) {
throw new UnsupportedOperationException();
}
public int remove(Object obj, int i) {
throw new UnsupportedOperationException();
}
@Override // com.google.common.collect.Multiset
public boolean setCount(E e, int i, int i2) {
return Multisets.a(this, e, i, i2);
}
}