package com.google.common.collect; import com.google.common.base.Objects; import com.google.common.base.Preconditions; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; import java.util.RandomAccess; /* loaded from: classes3.dex */ public abstract class Lists { public static ArrayList newArrayList() { return new ArrayList(); } public static ArrayList newArrayList(Iterator it) { ArrayList newArrayList = newArrayList(); Iterators.addAll(newArrayList, it); return newArrayList; } public static boolean equalsImpl(List list, Object obj) { if (obj == Preconditions.checkNotNull(list)) { return true; } if (!(obj instanceof List)) { return false; } List list2 = (List) obj; int size = list.size(); if (size != list2.size()) { return false; } if (!(list instanceof RandomAccess) || !(list2 instanceof RandomAccess)) { return Iterators.elementsEqual(list.iterator(), list2.iterator()); } for (int i = 0; i < size; i++) { if (!Objects.equal(list.get(i), list2.get(i))) { return false; } } return true; } public static int indexOfImpl(List list, Object obj) { if (list instanceof RandomAccess) { return indexOfRandomAccess(list, obj); } ListIterator listIterator = list.listIterator(); while (listIterator.hasNext()) { if (Objects.equal(obj, listIterator.next())) { return listIterator.previousIndex(); } } return -1; } public static int indexOfRandomAccess(List list, Object obj) { int size = list.size(); int i = 0; if (obj == null) { while (i < size) { if (list.get(i) == null) { return i; } i++; } return -1; } while (i < size) { if (obj.equals(list.get(i))) { return i; } i++; } return -1; } public static int lastIndexOfImpl(List list, Object obj) { if (list instanceof RandomAccess) { return lastIndexOfRandomAccess(list, obj); } ListIterator listIterator = list.listIterator(list.size()); while (listIterator.hasPrevious()) { if (Objects.equal(obj, listIterator.previous())) { return listIterator.nextIndex(); } } return -1; } public static int lastIndexOfRandomAccess(List list, Object obj) { if (obj == null) { for (int size = list.size() - 1; size >= 0; size--) { if (list.get(size) == null) { return size; } } return -1; } for (int size2 = list.size() - 1; size2 >= 0; size2--) { if (obj.equals(list.get(size2))) { return size2; } } return -1; } }