package com.squareup.haha.guava.collect; import com.squareup.haha.guava.base.Function; import com.squareup.haha.guava.base.Joiner; import com.squareup.haha.guava.base.Predicate; import com.squareup.haha.guava.base.Predicates; import java.util.Collection; import java.util.Iterator; import java.util.NoSuchElementException; /* loaded from: classes.dex */ public final class Iterators { private static UnmodifiableListIterator EMPTY_LIST_ITERATOR = new UnmodifiableListIterator() { // from class: com.squareup.haha.guava.collect.Iterators.1 @Override // java.util.Iterator, java.util.ListIterator public final boolean hasNext() { return false; } @Override // java.util.ListIterator public final boolean hasPrevious() { return false; } @Override // java.util.Iterator, java.util.ListIterator public final Object next() { throw new NoSuchElementException(); } @Override // java.util.ListIterator public final int nextIndex() { return 0; } @Override // java.util.ListIterator public final Object previous() { throw new NoSuchElementException(); } @Override // java.util.ListIterator public final int previousIndex() { return -1; } }; private static final Iterator EMPTY_MODIFIABLE_ITERATOR = new Iterator() { // from class: com.squareup.haha.guava.collect.Iterators.2 @Override // java.util.Iterator public final boolean hasNext() { return false; } @Override // java.util.Iterator public final Object next() { throw new NoSuchElementException(); } @Override // java.util.Iterator public final void remove() { Joiner.checkRemove(false); } }; static void clear(Iterator it) { Joiner.checkNotNull(it); while (it.hasNext()) { it.next(); it.remove(); } } public static Iterator concat(final Iterator> it) { Joiner.checkNotNull(it); return new Iterator() { // from class: com.squareup.haha.guava.collect.Iterators.5 private Iterator current = Iterators.emptyIterator(); private Iterator removeFrom; @Override // java.util.Iterator public final boolean hasNext() { boolean hasNext; while (true) { hasNext = ((Iterator) Joiner.checkNotNull(this.current)).hasNext(); if (hasNext || !it.hasNext()) { break; } this.current = (Iterator) it.next(); } return hasNext; } @Override // java.util.Iterator public final T next() { if (!hasNext()) { throw new NoSuchElementException(); } Iterator it2 = this.current; this.removeFrom = it2; return it2.next(); } @Override // java.util.Iterator public final void remove() { Joiner.checkRemove(this.removeFrom != null); this.removeFrom.remove(); this.removeFrom = null; } }; } public static boolean elementsEqual(Iterator it, Iterator it2) { while (it.hasNext()) { if (!it2.hasNext() || !Joiner.equal(it.next(), it2.next())) { return false; } } return !it2.hasNext(); } public static UnmodifiableIterator emptyIterator() { return EMPTY_LIST_ITERATOR; } static Iterator emptyModifiableIterator() { return (Iterator) EMPTY_MODIFIABLE_ITERATOR; } static UnmodifiableListIterator forArray(final T[] tArr, final int i, int i2, int i3) { Joiner.checkArgument(i2 >= 0); Joiner.checkPositionIndexes(i, i + i2, tArr.length); Joiner.checkPositionIndex(i3, i2); return i2 == 0 ? (UnmodifiableListIterator) EMPTY_LIST_ITERATOR : new AbstractIndexedListIterator(i2, i3) { // from class: com.squareup.haha.guava.collect.Iterators.11 @Override // com.squareup.haha.guava.collect.AbstractIndexedListIterator protected final T get(int i4) { return (T) tArr[i + i4]; } }; } public static boolean removeAll(Iterator it, Collection collection) { Predicate in = Predicates.in(collection); Joiner.checkNotNull(in); boolean z = false; while (it.hasNext()) { if (in.apply(it.next())) { it.remove(); z = true; } } return z; } public static UnmodifiableIterator singletonIterator(final T t) { return new UnmodifiableIterator() { // from class: com.squareup.haha.guava.collect.Iterators.12 private boolean done; @Override // java.util.Iterator public final boolean hasNext() { return !this.done; } @Override // java.util.Iterator public final T next() { if (this.done) { throw new NoSuchElementException(); } this.done = true; return (T) t; } }; } public static String toString(Iterator it) { StringBuilder appendTo = Collections2.STANDARD_JOINER.appendTo(new StringBuilder("["), it); appendTo.append(']'); return appendTo.toString(); } public static Iterator transform(Iterator it, final Function function) { Joiner.checkNotNull(function); return new TransformedIterator(it) { // from class: com.squareup.haha.guava.collect.Iterators.8 @Override // com.squareup.haha.guava.collect.TransformedIterator final T transform(F f) { return (T) function.apply(f); } }; } }