package com.google.common.collect; import com.google.common.collect.Maps; import java.util.Iterator; import java.util.Map; import java.util.NavigableMap; import java.util.NavigableSet; import java.util.NoSuchElementException; import java.util.Set; import java.util.SortedMap; /* loaded from: classes.dex */ abstract class AbstractNavigableMap extends Maps.IteratorBasedAbstractMap implements NavigableMap { private final class DescendingMap extends Maps.DescendingMap { private DescendingMap() { } @Override // com.google.common.collect.Maps.DescendingMap Iterator> b() { return AbstractNavigableMap.this.a(); } @Override // com.google.common.collect.Maps.DescendingMap NavigableMap c() { return AbstractNavigableMap.this; } } AbstractNavigableMap() { } abstract Iterator> a(); @Override // java.util.NavigableMap public Map.Entry ceilingEntry(K k) { return tailMap(k, true).firstEntry(); } @Override // java.util.NavigableMap public K ceilingKey(K k) { return (K) Maps.a(ceilingEntry(k)); } @Override // java.util.NavigableMap public NavigableSet descendingKeySet() { return descendingMap().navigableKeySet(); } @Override // java.util.NavigableMap public NavigableMap descendingMap() { return new DescendingMap(); } @Override // java.util.NavigableMap public Map.Entry firstEntry() { return (Map.Entry) Iterators.b(entryIterator(), (Object) null); } @Override // java.util.SortedMap public K firstKey() { Map.Entry firstEntry = firstEntry(); if (firstEntry != null) { return firstEntry.getKey(); } throw new NoSuchElementException(); } @Override // java.util.NavigableMap public Map.Entry floorEntry(K k) { return headMap(k, true).lastEntry(); } @Override // java.util.NavigableMap public K floorKey(K k) { return (K) Maps.a(floorEntry(k)); } @Override // java.util.NavigableMap, java.util.SortedMap public SortedMap headMap(K k) { return headMap(k, false); } @Override // java.util.NavigableMap public Map.Entry higherEntry(K k) { return tailMap(k, false).firstEntry(); } @Override // java.util.NavigableMap public K higherKey(K k) { return (K) Maps.a(higherEntry(k)); } @Override // java.util.AbstractMap, java.util.Map, java.util.SortedMap public Set keySet() { return navigableKeySet(); } @Override // java.util.NavigableMap public Map.Entry lastEntry() { return (Map.Entry) Iterators.b(a(), (Object) null); } @Override // java.util.SortedMap public K lastKey() { Map.Entry lastEntry = lastEntry(); if (lastEntry != null) { return lastEntry.getKey(); } throw new NoSuchElementException(); } @Override // java.util.NavigableMap public Map.Entry lowerEntry(K k) { return headMap(k, false).lastEntry(); } @Override // java.util.NavigableMap public K lowerKey(K k) { return (K) Maps.a(lowerEntry(k)); } @Override // java.util.NavigableMap public NavigableSet navigableKeySet() { return new Maps.NavigableKeySet(this); } @Override // java.util.NavigableMap public Map.Entry pollFirstEntry() { return (Map.Entry) Iterators.g(entryIterator()); } @Override // java.util.NavigableMap public Map.Entry pollLastEntry() { return (Map.Entry) Iterators.g(a()); } @Override // java.util.NavigableMap, java.util.SortedMap public SortedMap subMap(K k, K k2) { return subMap(k, true, k2, false); } @Override // java.util.NavigableMap, java.util.SortedMap public SortedMap tailMap(K k) { return tailMap(k, true); } }