package gnu.trove; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /* loaded from: classes2.dex */ public class TObjectIntHashMap extends TObjectHash { protected transient int[] _values; private static final class EqProcedure implements TObjectIntProcedure { private final TObjectIntHashMap a; EqProcedure(TObjectIntHashMap tObjectIntHashMap) { this.a = tObjectIntHashMap; } private static boolean a(int i, int i2) { return i == i2; } @Override // gnu.trove.TObjectIntProcedure public final boolean a(K k, int i) { return this.a.index(k) >= 0 && a(i, this.a.get(k)); } } private final class HashProcedure implements TObjectIntProcedure { private int a; HashProcedure() { } public int a() { return this.a; } @Override // gnu.trove.TObjectIntProcedure public boolean a(K k, int i) { int i2 = this.a; int computeHashCode = TObjectIntHashMap.this._hashingStrategy.computeHashCode(k); HashFunctions.a(i); this.a = i2 + (computeHashCode ^ i); return true; } } public TObjectIntHashMap() { } /* JADX WARN: Multi-variable type inference failed */ private void readObject(ObjectInputStream objectInputStream) throws IOException, ClassNotFoundException { objectInputStream.defaultReadObject(); int readInt = objectInputStream.readInt(); setUp(readInt); while (true) { int i = readInt - 1; if (readInt <= 0) { return; } put(objectInputStream.readObject(), objectInputStream.readInt()); readInt = i; } } private void writeObject(ObjectOutputStream objectOutputStream) throws IOException { objectOutputStream.defaultWriteObject(); objectOutputStream.writeInt(this._size); SerializationProcedure serializationProcedure = new SerializationProcedure(objectOutputStream); if (!forEachEntry(serializationProcedure)) { throw serializationProcedure.b; } } public boolean adjustValue(K k, int i) { int index = index(k); if (index < 0) { return false; } int[] iArr = this._values; iArr[index] = iArr[index] + i; return true; } @Override // gnu.trove.THash public void clear() { super.clear(); Object[] objArr = this._set; int[] iArr = this._values; int length = objArr.length; while (true) { int i = length - 1; if (length <= 0) { return; } objArr[i] = null; iArr[i] = 0; length = i; } } public boolean containsKey(K k) { return contains(k); } public boolean containsValue(int i) { Object[] objArr = this._set; int[] iArr = this._values; int length = objArr.length; while (true) { int i2 = length - 1; if (length <= 0) { return false; } if (objArr[i2] != null && objArr[i2] != TObjectHash.REMOVED && i == iArr[i2]) { return true; } length = i2; } } public boolean equals(Object obj) { if (!(obj instanceof TObjectIntHashMap)) { return false; } TObjectIntHashMap tObjectIntHashMap = (TObjectIntHashMap) obj; if (tObjectIntHashMap.size() != size()) { return false; } return forEachEntry(new EqProcedure(tObjectIntHashMap)); } /* JADX WARN: Multi-variable type inference failed */ public boolean forEachEntry(TObjectIntProcedure tObjectIntProcedure) { Object[] objArr = this._set; int[] iArr = this._values; int length = objArr.length; while (true) { int i = length - 1; if (length <= 0) { return true; } if (objArr[i] != null && objArr[i] != TObjectHash.REMOVED && !tObjectIntProcedure.a(objArr[i], iArr[i])) { return false; } length = i; } } /* JADX WARN: Multi-variable type inference failed */ public boolean forEachKey(TObjectProcedure tObjectProcedure) { return forEach(tObjectProcedure); } public boolean forEachValue(TIntProcedure tIntProcedure) { Object[] objArr = this._set; int[] iArr = this._values; int length = objArr.length; while (true) { int i = length - 1; if (length <= 0) { return true; } if (objArr[i] != null && objArr[i] != TObjectHash.REMOVED && !tIntProcedure.a(iArr[i])) { return false; } length = i; } } public int get(K k) { int index = index(k); if (index < 0) { return 0; } return this._values[index]; } public int[] getValues() { int[] iArr = new int[size()]; int[] iArr2 = this._values; Object[] objArr = this._set; int length = objArr.length; int i = 0; while (true) { int i2 = length - 1; if (length <= 0) { return iArr; } if (objArr[i2] != null && objArr[i2] != TObjectHash.REMOVED) { iArr[i] = iArr2[i2]; i++; } length = i2; } } public int hashCode() { HashProcedure hashProcedure = new HashProcedure(); forEachEntry(hashProcedure); return hashProcedure.a(); } public boolean increment(K k) { return adjustValue(k, 1); } public TObjectIntIterator iterator() { return new TObjectIntIterator<>(this); } public Object[] keys() { Object[] objArr = new Object[size()]; Object[] objArr2 = this._set; int length = objArr2.length; int i = 0; while (true) { int i2 = length - 1; if (length <= 0) { return objArr; } if (objArr2[i2] != null && objArr2[i2] != TObjectHash.REMOVED) { objArr[i] = objArr2[i2]; i++; } length = i2; } } public int put(K k, int i) { boolean z; int i2; int insertionIndex = insertionIndex(k); if (insertionIndex < 0) { insertionIndex = (-insertionIndex) - 1; i2 = this._values[insertionIndex]; z = false; } else { z = true; i2 = 0; } Object[] objArr = this._set; Object obj = objArr[insertionIndex]; objArr[insertionIndex] = k; this._values[insertionIndex] = i; if (z) { postInsertHook(obj == null); } return i2; } @Override // gnu.trove.THash protected void rehash(int i) { int capacity = capacity(); Object[] objArr = this._set; int[] iArr = this._values; this._set = new Object[i]; this._values = new int[i]; while (true) { int i2 = capacity - 1; if (capacity <= 0) { return; } if (objArr[i2] != null && objArr[i2] != TObjectHash.REMOVED) { Object obj = objArr[i2]; int insertionIndex = insertionIndex(obj); if (insertionIndex < 0) { throwObjectContractViolation(this._set[(-insertionIndex) - 1], obj); } this._set[insertionIndex] = obj; this._values[insertionIndex] = iArr[i2]; } capacity = i2; } } public int remove(K k) { int index = index(k); if (index < 0) { return 0; } int i = this._values[index]; removeAt(index); return i; } @Override // gnu.trove.TObjectHash, gnu.trove.THash protected void removeAt(int i) { this._values[i] = 0; super.removeAt(i); } /* JADX WARN: Multi-variable type inference failed */ public boolean retainEntries(TObjectIntProcedure tObjectIntProcedure) { Object[] objArr = this._set; int[] iArr = this._values; stopCompactingOnRemove(); boolean z = false; try { int length = objArr.length; while (true) { int i = length - 1; if (length <= 0) { return z; } if (objArr[i] != null && objArr[i] != TObjectHash.REMOVED && !tObjectIntProcedure.a(objArr[i], iArr[i])) { removeAt(i); z = true; } length = i; } } finally { startCompactingOnRemove(z); } } @Override // gnu.trove.TObjectHash, gnu.trove.THash protected int setUp(int i) { int up = super.setUp(i); this._values = i == -1 ? null : new int[up]; return up; } public String toString() { final StringBuilder sb = new StringBuilder(); forEachEntry(new TObjectIntProcedure(this) { // from class: gnu.trove.TObjectIntHashMap.1 @Override // gnu.trove.TObjectIntProcedure public boolean a(K k, int i) { if (sb.length() != 0) { StringBuilder sb2 = sb; sb2.append(','); sb2.append(' '); } StringBuilder sb3 = sb; if (k == this) { k = (K) "(this Map)"; } sb3.append(k); sb.append('='); sb.append(i); return true; } }); sb.append('}'); sb.insert(0, '{'); return sb.toString(); } public void transformValues(TIntFunction tIntFunction) { Object[] objArr = this._set; int[] iArr = this._values; int length = objArr.length; while (true) { int i = length - 1; if (length <= 0) { return; } if (objArr[i] != null && objArr[i] != TObjectHash.REMOVED) { iArr[i] = tIntFunction.a(iArr[i]); } length = i; } } public TObjectIntHashMap(int i) { super(i); } public TObjectIntHashMap(int i, float f) { super(i, f); } public TObjectIntHashMap(TObjectHashingStrategy tObjectHashingStrategy) { super(tObjectHashingStrategy); } public TObjectIntHashMap(int i, TObjectHashingStrategy tObjectHashingStrategy) { super(i, tObjectHashingStrategy); } public TObjectIntHashMap(int i, float f, TObjectHashingStrategy tObjectHashingStrategy) { super(i, f, tObjectHashingStrategy); } }