package com.google.common.collect; import com.google.common.collect.Multiset; import java.lang.Enum; import java.util.Arrays; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Set; /* loaded from: classes.dex */ class EnumCountHashMap> extends AbstractObjectCountMap { private final Class g; private abstract class EnumIterator extends AbstractObjectCountMap.Itr { int e; private EnumIterator() { super(); this.e = -1; } @Override // com.google.common.collect.AbstractObjectCountMap.Itr, java.util.Iterator public boolean hasNext() { while (true) { int i = this.c; int[] iArr = EnumCountHashMap.this.b; if (i >= iArr.length || iArr[i] > 0) { break; } this.c = i + 1; } return this.c != EnumCountHashMap.this.b.length; } @Override // com.google.common.collect.AbstractObjectCountMap.Itr, java.util.Iterator public T next() { a(); if (!hasNext()) { throw new NoSuchElementException(); } this.b = true; int i = this.c; this.e = i; this.c = i + 1; return a(i); } @Override // com.google.common.collect.AbstractObjectCountMap.Itr, java.util.Iterator public void remove() { a(); CollectPreconditions.a(this.b); this.a++; EnumCountHashMap.this.e(this.e); this.b = false; this.e = -1; this.c--; } } class EnumMapEntry extends AbstractObjectCountMap.MapEntry { EnumMapEntry(int i) { super(i); } /* JADX WARN: Multi-variable type inference failed */ @Override // com.google.common.collect.AbstractObjectCountMap.MapEntry public int a(int i) { EnumCountHashMap enumCountHashMap = EnumCountHashMap.this; int[] iArr = enumCountHashMap.b; int i2 = this.b; if (iArr[i2] == -1) { enumCountHashMap.a((EnumCountHashMap) this.a, i); return 0; } int i3 = iArr[i2]; iArr[i2] = i; if (i3 == -1) { return 0; } return i3; } @Override // com.google.common.collect.AbstractObjectCountMap.MapEntry, com.google.common.collect.Multiset.Entry public int getCount() { int[] iArr = EnumCountHashMap.this.b; int i = this.b; if (iArr[i] == -1) { return 0; } return iArr[i]; } } EnumCountHashMap(Class cls) { this.g = cls; this.a = cls.getEnumConstants(); Object[] objArr = this.a; if (objArr != null) { this.b = new int[objArr.length]; Arrays.fill(this.b, 0, objArr.length, -1); } else { throw new IllegalStateException("Expected Enum class type, but got " + cls.getName()); } } @Override // com.google.common.collect.AbstractObjectCountMap Set> b() { return new AbstractObjectCountMap.EntrySetView() { // from class: com.google.common.collect.EnumCountHashMap.2 @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set public Iterator> iterator() { return new EnumCountHashMap.EnumIterator>() { // from class: com.google.common.collect.EnumCountHashMap.2.1 { EnumCountHashMap enumCountHashMap = EnumCountHashMap.this; } /* JADX INFO: Access modifiers changed from: package-private */ @Override // com.google.common.collect.AbstractObjectCountMap.Itr public Multiset.Entry a(int i) { return new EnumMapEntry(i); } }; } }; } @Override // com.google.common.collect.AbstractObjectCountMap Set c() { return new AbstractObjectCountMap.KeySetView() { // from class: com.google.common.collect.EnumCountHashMap.1 private Object[] c() { Object[] objArr = new Object[EnumCountHashMap.this.c]; int i = 0; int i2 = 0; while (true) { EnumCountHashMap enumCountHashMap = EnumCountHashMap.this; Object[] objArr2 = enumCountHashMap.a; if (i >= objArr2.length) { return objArr; } if (enumCountHashMap.b[i] != -1) { objArr[i2] = objArr2[i]; i2++; } i++; } } @Override // com.google.common.collect.AbstractObjectCountMap.KeySetView, java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set public Iterator iterator() { return new EnumCountHashMap.EnumIterator() { // from class: com.google.common.collect.EnumCountHashMap.1.1 { EnumCountHashMap enumCountHashMap = EnumCountHashMap.this; } /* JADX INFO: Access modifiers changed from: package-private */ @Override // com.google.common.collect.AbstractObjectCountMap.Itr public K a(int i) { return (K) EnumCountHashMap.this.a[i]; } }; } @Override // com.google.common.collect.AbstractObjectCountMap.KeySetView, java.util.AbstractCollection, java.util.Collection, java.util.Set public Object[] toArray() { return c(); } @Override // com.google.common.collect.AbstractObjectCountMap.KeySetView, java.util.AbstractCollection, java.util.Collection, java.util.Set public T[] toArray(T[] tArr) { return (T[]) ObjectArrays.a(c(), 0, EnumCountHashMap.this.c, tArr); } }; } @Override // com.google.common.collect.AbstractObjectCountMap int d(int i) { do { i++; if (i >= this.a.length) { return -1; } } while (this.b[i] <= 0); return i; } @Override // com.google.common.collect.AbstractObjectCountMap int e() { for (int i = 0; i < this.a.length; i++) { if (this.b[i] > 0) { return i; } } return -1; } public int hashCode() { int i = 0; int i2 = 0; while (true) { Object[] objArr = this.a; if (i >= objArr.length) { return i2; } i2 += objArr[i].hashCode() ^ this.b[i]; i++; } } @Override // com.google.common.collect.AbstractObjectCountMap public void a() { this.d++; if (this.a != null) { int[] iArr = this.b; Arrays.fill(iArr, 0, iArr.length, -1); this.c = 0; } } @Override // com.google.common.collect.AbstractObjectCountMap int b(Object obj) { if (e(obj)) { return ((Enum) obj).ordinal(); } return -1; } @Override // com.google.common.collect.AbstractObjectCountMap public int c(Object obj) { int ordinal; int[] iArr; int i; if (!e(obj) || (i = (iArr = this.b)[(ordinal = ((Enum) obj).ordinal())]) == -1) { return 0; } iArr[ordinal] = -1; this.c--; this.d++; return i; } private boolean e(Object obj) { if (obj == null) { return false; } Class cls = obj.getClass(); return cls == this.g || cls.getSuperclass() == this.g; } public boolean d(Object obj) { return e(obj) && this.b[((Enum) obj).ordinal()] != -1; } @Override // com.google.common.collect.AbstractObjectCountMap int e(int i) { return c(this.a[i]); } @Override // com.google.common.collect.AbstractObjectCountMap public int a(Object obj) { if (d(obj)) { return this.b[((Enum) obj).ordinal()]; } return 0; } @Override // com.google.common.collect.AbstractObjectCountMap public int a(K k, int i) { CollectPreconditions.b(i, "count"); a((EnumCountHashMap) k); int ordinal = k.ordinal(); int[] iArr = this.b; int i2 = iArr[ordinal]; iArr[ordinal] = i; this.d++; if (i2 != -1) { return i2; } this.c++; return 0; } private void a(K k) { Class cls = k.getClass(); if (cls == this.g || cls.getSuperclass() == this.g) { return; } throw new ClassCastException(cls + " != " + this.g); } }