package com.google.common.collect; import com.google.common.collect.Table; import com.google.errorprone.annotations.concurrent.LazyInit; import java.util.AbstractCollection; import java.util.AbstractSet; import java.util.Collection; import java.util.Iterator; import java.util.Map; import java.util.Set; import javax.annotation.CheckForNull; @ElementTypesAreNonnullByDefault /* loaded from: classes3.dex */ abstract class AbstractTable<R, C, V> implements Table<R, C, V> { @CheckForNull @LazyInit private transient Set<Table.Cell<R, C, V>> cellSet; @CheckForNull @LazyInit private transient Collection<V> values; abstract Iterator<Table.Cell<R, C, V>> cellIterator(); @Override // com.google.common.collect.Table public boolean containsRow(@CheckForNull Object obj) { return Maps.safeContainsKey(rowMap(), obj); } @Override // com.google.common.collect.Table public boolean containsColumn(@CheckForNull Object obj) { return Maps.safeContainsKey(columnMap(), obj); } @Override // com.google.common.collect.Table public Set<R> rowKeySet() { return rowMap().keySet(); } @Override // com.google.common.collect.Table public Set<C> columnKeySet() { return columnMap().keySet(); } @Override // com.google.common.collect.Table public boolean containsValue(@CheckForNull Object obj) { Iterator<Map<C, V>> it = rowMap().values().iterator(); while (it.hasNext()) { if (it.next().containsValue(obj)) { return true; } } return false; } @Override // com.google.common.collect.Table public boolean contains(@CheckForNull Object obj, @CheckForNull Object obj2) { Map map = (Map) Maps.safeGet(rowMap(), obj); return map != null && Maps.safeContainsKey(map, obj2); } @Override // com.google.common.collect.Table @CheckForNull public V get(@CheckForNull Object obj, @CheckForNull Object obj2) { Map map = (Map) Maps.safeGet(rowMap(), obj); if (map == null) { return null; } return (V) Maps.safeGet(map, obj2); } @Override // com.google.common.collect.Table public boolean isEmpty() { return size() == 0; } @Override // com.google.common.collect.Table public void clear() { Iterators.clear(cellSet().iterator()); } @Override // com.google.common.collect.Table @CheckForNull public V remove(@CheckForNull Object obj, @CheckForNull Object obj2) { Map map = (Map) Maps.safeGet(rowMap(), obj); if (map == null) { return null; } return (V) Maps.safeRemove(map, obj2); } @Override // com.google.common.collect.Table @CheckForNull public V put(@ParametricNullness R r, @ParametricNullness C c, @ParametricNullness V v) { return row(r).put(c, v); } @Override // com.google.common.collect.Table public void putAll(Table<? extends R, ? extends C, ? extends V> table) { for (Table.Cell<? extends R, ? extends C, ? extends V> cell : table.cellSet()) { put(cell.getRowKey(), cell.getColumnKey(), cell.getValue()); } } @Override // com.google.common.collect.Table public Set<Table.Cell<R, C, V>> cellSet() { Set<Table.Cell<R, C, V>> set = this.cellSet; if (set != null) { return set; } Set<Table.Cell<R, C, V>> createCellSet = createCellSet(); this.cellSet = createCellSet; return createCellSet; } Set<Table.Cell<R, C, V>> createCellSet() { return new CellSet(); } /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes3.dex */ public class CellSet extends AbstractSet<Table.Cell<R, C, V>> { CellSet() { } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean contains(@CheckForNull Object obj) { if (!(obj instanceof Table.Cell)) { return false; } Table.Cell cell = (Table.Cell) obj; Map map = (Map) Maps.safeGet(AbstractTable.this.rowMap(), cell.getRowKey()); return map != null && Collections2.safeContains(map.entrySet(), Maps.immutableEntry(cell.getColumnKey(), cell.getValue())); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean remove(@CheckForNull Object obj) { if (!(obj instanceof Table.Cell)) { return false; } Table.Cell cell = (Table.Cell) obj; Map map = (Map) Maps.safeGet(AbstractTable.this.rowMap(), cell.getRowKey()); return map != null && Collections2.safeRemove(map.entrySet(), Maps.immutableEntry(cell.getColumnKey(), cell.getValue())); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public void clear() { AbstractTable.this.clear(); } @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set public Iterator<Table.Cell<R, C, V>> iterator() { return AbstractTable.this.cellIterator(); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public int size() { return AbstractTable.this.size(); } } @Override // com.google.common.collect.Table public Collection<V> values() { Collection<V> collection = this.values; if (collection != null) { return collection; } Collection<V> createValues = createValues(); this.values = createValues; return createValues; } Collection<V> createValues() { return new Values(); } Iterator<V> valuesIterator() { return new TransformedIterator<Table.Cell<R, C, V>, V>(this, cellSet().iterator()) { // from class: com.google.common.collect.AbstractTable.1 /* JADX INFO: Access modifiers changed from: package-private */ @Override // com.google.common.collect.TransformedIterator @ParametricNullness public V transform(Table.Cell<R, C, V> cell) { return cell.getValue(); } }; } /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes3.dex */ public class Values extends AbstractCollection<V> { Values() { } @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable public Iterator<V> iterator() { return AbstractTable.this.valuesIterator(); } @Override // java.util.AbstractCollection, java.util.Collection public boolean contains(@CheckForNull Object obj) { return AbstractTable.this.containsValue(obj); } @Override // java.util.AbstractCollection, java.util.Collection public void clear() { AbstractTable.this.clear(); } @Override // java.util.AbstractCollection, java.util.Collection public int size() { return AbstractTable.this.size(); } } @Override // com.google.common.collect.Table public boolean equals(@CheckForNull Object obj) { return Tables.equalsImpl(this, obj); } @Override // com.google.common.collect.Table public int hashCode() { return cellSet().hashCode(); } public String toString() { return rowMap().toString(); } }