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

79 lines
2.5 KiB
Java

package com.google.common.collect;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multiset;
import com.google.common.primitives.Ints;
/* loaded from: classes.dex */
class RegularImmutableMultiset<E> extends ImmutableMultiset<E> {
static final RegularImmutableMultiset<Object> d = new RegularImmutableMultiset<>(ObjectCountHashMap.i());
private final transient ObjectCountHashMap<E> a;
private final transient int b;
private transient ImmutableSet<E> c;
private final class ElementSet extends ImmutableSet.Indexed<E> {
private ElementSet() {
}
@Override // com.google.common.collect.ImmutableCollection, java.util.AbstractCollection, java.util.Collection, java.util.Set
public boolean contains(Object obj) {
return RegularImmutableMultiset.this.contains(obj);
}
@Override // com.google.common.collect.ImmutableSet.Indexed
E get(int i) {
return (E) RegularImmutableMultiset.this.a.b(i);
}
@Override // com.google.common.collect.ImmutableCollection
boolean isPartialView() {
return true;
}
@Override // java.util.AbstractCollection, java.util.Collection, java.util.Set
public int size() {
return RegularImmutableMultiset.this.a.h();
}
}
RegularImmutableMultiset(ObjectCountHashMap<E> objectCountHashMap) {
this.a = objectCountHashMap;
long j = 0;
for (int i = 0; i < objectCountHashMap.h(); i++) {
j += objectCountHashMap.c(i);
}
this.b = Ints.b(j);
}
@Override // com.google.common.collect.Multiset
public int count(Object obj) {
return this.a.a(obj);
}
@Override // com.google.common.collect.ImmutableMultiset
Multiset.Entry<E> getEntry(int i) {
return this.a.a(i);
}
@Override // com.google.common.collect.ImmutableCollection
boolean isPartialView() {
return false;
}
@Override // java.util.AbstractCollection, java.util.Collection, com.google.common.collect.Multiset
public int size() {
return this.b;
}
@Override // com.google.common.collect.ImmutableMultiset, com.google.common.collect.Multiset
public ImmutableSet<E> elementSet() {
ImmutableSet<E> immutableSet = this.c;
if (immutableSet != null) {
return immutableSet;
}
ElementSet elementSet = new ElementSet();
this.c = elementSet;
return elementSet;
}
}