package com.google.common.collect; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import java.io.Serializable; import java.util.AbstractCollection; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; /* loaded from: classes.dex */ public abstract class ImmutableCollection extends AbstractCollection implements Serializable { private static final Object[] EMPTY_ARRAY = new Object[0]; ImmutableCollection() { } @Override // java.util.AbstractCollection, java.util.Collection @Deprecated public final boolean add(E e) { throw new UnsupportedOperationException(); } @Override // java.util.AbstractCollection, java.util.Collection @Deprecated public final boolean addAll(Collection collection) { throw new UnsupportedOperationException(); } public ImmutableList asList() { return isEmpty() ? ImmutableList.of() : ImmutableList.asImmutableList(toArray()); } @Override // java.util.AbstractCollection, java.util.Collection @Deprecated public final void clear() { throw new UnsupportedOperationException(); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public abstract boolean contains(Object obj); int copyIntoArray(Object[] objArr, int i) { UnmodifiableIterator it = iterator(); while (it.hasNext()) { objArr[i] = it.next(); i++; } return i; } abstract boolean isPartialView(); @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set, java.util.NavigableSet public abstract UnmodifiableIterator iterator(); @Override // java.util.AbstractCollection, java.util.Collection @Deprecated public final boolean remove(Object obj) { throw new UnsupportedOperationException(); } @Override // java.util.AbstractCollection, java.util.Collection @Deprecated public final boolean removeAll(Collection collection) { throw new UnsupportedOperationException(); } @Override // java.util.AbstractCollection, java.util.Collection @Deprecated public final boolean retainAll(Collection collection) { throw new UnsupportedOperationException(); } @Override // java.util.AbstractCollection, java.util.Collection public final Object[] toArray() { int size = size(); if (size == 0) { return EMPTY_ARRAY; } Object[] objArr = new Object[size]; copyIntoArray(objArr, 0); return objArr; } Object writeReplace() { return new ImmutableList.SerializedForm(toArray()); } public static abstract class Builder { Builder() { } static int a(int i, int i2) { if (i2 < 0) { throw new AssertionError("cannot store more than MAX_VALUE elements"); } int i3 = i + (i >> 1) + 1; if (i3 < i2) { i3 = Integer.highestOneBit(i2 - 1) << 1; } if (i3 < 0) { return Integer.MAX_VALUE; } return i3; } public abstract Builder a(E e); public Builder a(E... eArr) { for (E e : eArr) { a((Builder) e); } return this; } public Builder a(Iterable iterable) { Iterator it = iterable.iterator(); while (it.hasNext()) { a((Builder) it.next()); } return this; } public Builder a(Iterator it) { while (it.hasNext()) { a((Builder) it.next()); } return this; } } @Override // java.util.AbstractCollection, java.util.Collection public final T[] toArray(T[] tArr) { Preconditions.a(tArr); int size = size(); if (tArr.length < size) { tArr = (T[]) ObjectArrays.b(tArr, size); } else if (tArr.length > size) { tArr[size] = null; } copyIntoArray(tArr, 0); return tArr; } static abstract class ArrayBasedBuilder extends Builder { Object[] a; int b; boolean c; ArrayBasedBuilder(int i) { CollectPreconditions.a(i, "initialCapacity"); this.a = new Object[i]; this.b = 0; } private void a(int i) { Object[] objArr = this.a; if (objArr.length < i) { this.a = Arrays.copyOf(objArr, Builder.a(objArr.length, i)); this.c = false; } else if (this.c) { this.a = (Object[]) objArr.clone(); this.c = false; } } @Override // com.google.common.collect.ImmutableCollection.Builder public ArrayBasedBuilder a(E e) { Preconditions.a(e); a(this.b + 1); Object[] objArr = this.a; int i = this.b; this.b = i + 1; objArr[i] = e; return this; } @Override // com.google.common.collect.ImmutableCollection.Builder public Builder a(E... eArr) { ObjectArrays.a(eArr); a(this.b + eArr.length); System.arraycopy(eArr, 0, this.a, this.b, eArr.length); this.b += eArr.length; return this; } } }