package androidx.collection; import java.lang.reflect.Array; import java.util.Collection; import java.util.Iterator; import java.util.Map; import java.util.Set; /* loaded from: classes.dex */ public final class ArraySet implements Collection, Set { private static final int[] e = new int[0]; private static final Object[] f = new Object[0]; private static Object[] g; private static int h; private static Object[] i; private static int j; private int[] a; Object[] b; int c; private MapCollections d; public ArraySet() { this(0); } private int a(Object obj, int i2) { int i3 = this.c; if (i3 == 0) { return -1; } int a = ContainerHelpers.a(this.a, i3, i2); if (a < 0 || obj.equals(this.b[a])) { return a; } int i4 = a + 1; while (i4 < i3 && this.a[i4] == i2) { if (obj.equals(this.b[i4])) { return i4; } i4++; } for (int i5 = a - 1; i5 >= 0 && this.a[i5] == i2; i5--) { if (obj.equals(this.b[i5])) { return i5; } } return ~i4; } private int b() { int i2 = this.c; if (i2 == 0) { return -1; } int a = ContainerHelpers.a(this.a, i2, 0); if (a < 0 || this.b[a] == null) { return a; } int i3 = a + 1; while (i3 < i2 && this.a[i3] == 0) { if (this.b[i3] == null) { return i3; } i3++; } for (int i4 = a - 1; i4 >= 0 && this.a[i4] == 0; i4--) { if (this.b[i4] == null) { return i4; } } return ~i3; } private void f(int i2) { if (i2 == 8) { synchronized (ArraySet.class) { if (i != null) { Object[] objArr = i; this.b = objArr; i = (Object[]) objArr[0]; this.a = (int[]) objArr[1]; objArr[1] = null; objArr[0] = null; j--; return; } } } else if (i2 == 4) { synchronized (ArraySet.class) { if (g != null) { Object[] objArr2 = g; this.b = objArr2; g = (Object[]) objArr2[0]; this.a = (int[]) objArr2[1]; objArr2[1] = null; objArr2[0] = null; h--; return; } } } this.a = new int[i2]; this.b = new Object[i2]; } @Override // java.util.Collection, java.util.Set public boolean add(E e2) { int i2; int a; if (e2 == null) { a = b(); i2 = 0; } else { int hashCode = e2.hashCode(); i2 = hashCode; a = a(e2, hashCode); } if (a >= 0) { return false; } int i3 = ~a; int i4 = this.c; if (i4 >= this.a.length) { int i5 = 4; if (i4 >= 8) { i5 = (i4 >> 1) + i4; } else if (i4 >= 4) { i5 = 8; } int[] iArr = this.a; Object[] objArr = this.b; f(i5); int[] iArr2 = this.a; if (iArr2.length > 0) { System.arraycopy(iArr, 0, iArr2, 0, iArr.length); System.arraycopy(objArr, 0, this.b, 0, objArr.length); } a(iArr, objArr, this.c); } int i6 = this.c; if (i3 < i6) { int[] iArr3 = this.a; int i7 = i3 + 1; System.arraycopy(iArr3, i3, iArr3, i7, i6 - i3); Object[] objArr2 = this.b; System.arraycopy(objArr2, i3, objArr2, i7, this.c - i3); } this.a[i3] = i2; this.b[i3] = e2; this.c++; return true; } @Override // java.util.Collection, java.util.Set public boolean addAll(Collection collection) { c(this.c + collection.size()); Iterator it = collection.iterator(); boolean z = false; while (it.hasNext()) { z |= add(it.next()); } return z; } public void c(int i2) { int[] iArr = this.a; if (iArr.length < i2) { Object[] objArr = this.b; f(i2); int i3 = this.c; if (i3 > 0) { System.arraycopy(iArr, 0, this.a, 0, i3); System.arraycopy(objArr, 0, this.b, 0, this.c); } a(iArr, objArr, this.c); } } @Override // java.util.Collection, java.util.Set public void clear() { int i2 = this.c; if (i2 != 0) { a(this.a, this.b, i2); this.a = e; this.b = f; this.c = 0; } } @Override // java.util.Collection, java.util.Set public boolean contains(Object obj) { return indexOf(obj) >= 0; } @Override // java.util.Collection, java.util.Set public boolean containsAll(Collection collection) { Iterator it = collection.iterator(); while (it.hasNext()) { if (!contains(it.next())) { return false; } } return true; } public E d(int i2) { Object[] objArr = this.b; E e2 = (E) objArr[i2]; int i3 = this.c; if (i3 <= 1) { a(this.a, objArr, i3); this.a = e; this.b = f; this.c = 0; } else { int[] iArr = this.a; if (iArr.length <= 8 || i3 >= iArr.length / 3) { this.c--; int i4 = this.c; if (i2 < i4) { int[] iArr2 = this.a; int i5 = i2 + 1; System.arraycopy(iArr2, i5, iArr2, i2, i4 - i2); Object[] objArr2 = this.b; System.arraycopy(objArr2, i5, objArr2, i2, this.c - i2); } this.b[this.c] = null; } else { int i6 = i3 > 8 ? i3 + (i3 >> 1) : 8; int[] iArr3 = this.a; Object[] objArr3 = this.b; f(i6); this.c--; if (i2 > 0) { System.arraycopy(iArr3, 0, this.a, 0, i2); System.arraycopy(objArr3, 0, this.b, 0, i2); } int i7 = this.c; if (i2 < i7) { int i8 = i2 + 1; System.arraycopy(iArr3, i8, this.a, i2, i7 - i2); System.arraycopy(objArr3, i8, this.b, i2, this.c - i2); } } } return e2; } public E e(int i2) { return (E) this.b[i2]; } @Override // java.util.Collection, java.util.Set public boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof Set) { Set set = (Set) obj; if (size() != set.size()) { return false; } for (int i2 = 0; i2 < this.c; i2++) { try { if (!set.contains(e(i2))) { return false; } } catch (ClassCastException | NullPointerException unused) { } } return true; } return false; } @Override // java.util.Collection, java.util.Set public int hashCode() { int[] iArr = this.a; int i2 = this.c; int i3 = 0; for (int i4 = 0; i4 < i2; i4++) { i3 += iArr[i4]; } return i3; } public int indexOf(Object obj) { return obj == null ? b() : a(obj, obj.hashCode()); } @Override // java.util.Collection, java.util.Set public boolean isEmpty() { return this.c <= 0; } @Override // java.util.Collection, java.lang.Iterable, java.util.Set public Iterator iterator() { return a().e().iterator(); } @Override // java.util.Collection, java.util.Set public boolean remove(Object obj) { int indexOf = indexOf(obj); if (indexOf < 0) { return false; } d(indexOf); return true; } @Override // java.util.Collection, java.util.Set public boolean removeAll(Collection collection) { Iterator it = collection.iterator(); boolean z = false; while (it.hasNext()) { z |= remove(it.next()); } return z; } @Override // java.util.Collection, java.util.Set public boolean retainAll(Collection collection) { boolean z = false; for (int i2 = this.c - 1; i2 >= 0; i2--) { if (!collection.contains(this.b[i2])) { d(i2); z = true; } } return z; } @Override // java.util.Collection, java.util.Set public int size() { return this.c; } @Override // java.util.Collection, java.util.Set public Object[] toArray() { int i2 = this.c; Object[] objArr = new Object[i2]; System.arraycopy(this.b, 0, objArr, 0, i2); return objArr; } public String toString() { if (isEmpty()) { return "{}"; } StringBuilder sb = new StringBuilder(this.c * 14); sb.append('{'); for (int i2 = 0; i2 < this.c; i2++) { if (i2 > 0) { sb.append(", "); } E e2 = e(i2); if (e2 != this) { sb.append(e2); } else { sb.append("(this Set)"); } } sb.append('}'); return sb.toString(); } public ArraySet(int i2) { if (i2 == 0) { this.a = e; this.b = f; } else { f(i2); } this.c = 0; } @Override // java.util.Collection, java.util.Set public T[] toArray(T[] tArr) { if (tArr.length < this.c) { tArr = (T[]) ((Object[]) Array.newInstance(tArr.getClass().getComponentType(), this.c)); } System.arraycopy(this.b, 0, tArr, 0, this.c); int length = tArr.length; int i2 = this.c; if (length > i2) { tArr[i2] = null; } return tArr; } private static void a(int[] iArr, Object[] objArr, int i2) { if (iArr.length == 8) { synchronized (ArraySet.class) { if (j < 10) { objArr[0] = i; objArr[1] = iArr; for (int i3 = i2 - 1; i3 >= 2; i3--) { objArr[i3] = null; } i = objArr; j++; } } return; } if (iArr.length == 4) { synchronized (ArraySet.class) { if (h < 10) { objArr[0] = g; objArr[1] = iArr; for (int i4 = i2 - 1; i4 >= 2; i4--) { objArr[i4] = null; } g = objArr; h++; } } } } private MapCollections a() { if (this.d == null) { this.d = new MapCollections() { // from class: androidx.collection.ArraySet.1 @Override // androidx.collection.MapCollections protected Object a(int i2, int i3) { return ArraySet.this.b[i2]; } @Override // androidx.collection.MapCollections protected int b(Object obj) { return ArraySet.this.indexOf(obj); } @Override // androidx.collection.MapCollections protected int c() { return ArraySet.this.c; } @Override // androidx.collection.MapCollections protected int a(Object obj) { return ArraySet.this.indexOf(obj); } @Override // androidx.collection.MapCollections protected Map b() { throw new UnsupportedOperationException("not a map"); } @Override // androidx.collection.MapCollections protected void a(E e2, E e3) { ArraySet.this.add(e2); } @Override // androidx.collection.MapCollections protected E a(int i2, E e2) { throw new UnsupportedOperationException("not a map"); } @Override // androidx.collection.MapCollections protected void a(int i2) { ArraySet.this.d(i2); } @Override // androidx.collection.MapCollections protected void a() { ArraySet.this.clear(); } }; } return this.d; } }