package com.google.common.collect; import com.google.common.base.Preconditions; import com.google.common.base.Supplier; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.Comparator; import java.util.EnumMap; import java.util.EnumSet; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; import java.util.SortedSet; import java.util.TreeMap; import java.util.TreeSet; @ElementTypesAreNonnullByDefault /* loaded from: classes3.dex */ public abstract class MultimapBuilder { private static final int DEFAULT_EXPECTED_KEYS = 8; public abstract Multimap build(); private MultimapBuilder() { } public static MultimapBuilderWithKeys hashKeys() { return hashKeys(8); } public static MultimapBuilderWithKeys hashKeys(final int i) { CollectPreconditions.checkNonnegative(i, "expectedKeys"); return new MultimapBuilderWithKeys() { // from class: com.google.common.collect.MultimapBuilder.1 @Override // com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys Map> createMap() { return Platform.newHashMapWithExpectedSize(i); } }; } public static MultimapBuilderWithKeys linkedHashKeys() { return linkedHashKeys(8); } public static MultimapBuilderWithKeys linkedHashKeys(final int i) { CollectPreconditions.checkNonnegative(i, "expectedKeys"); return new MultimapBuilderWithKeys() { // from class: com.google.common.collect.MultimapBuilder.2 @Override // com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys Map> createMap() { return Platform.newLinkedHashMapWithExpectedSize(i); } }; } public static MultimapBuilderWithKeys treeKeys() { return treeKeys(Ordering.natural()); } public static MultimapBuilderWithKeys treeKeys(final Comparator comparator) { Preconditions.checkNotNull(comparator); return new MultimapBuilderWithKeys() { // from class: com.google.common.collect.MultimapBuilder.3 @Override // com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys Map> createMap() { return new TreeMap(comparator); } }; } public static > MultimapBuilderWithKeys enumKeys(final Class cls) { Preconditions.checkNotNull(cls); return new MultimapBuilderWithKeys() { // from class: com.google.common.collect.MultimapBuilder.4 @Override // com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys Map> createMap() { return new EnumMap(cls); } }; } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes3.dex */ public static final class ArrayListSupplier implements Supplier>, Serializable { private final int expectedValuesPerKey; ArrayListSupplier(int i) { this.expectedValuesPerKey = CollectPreconditions.checkNonnegative(i, "expectedValuesPerKey"); } @Override // com.google.common.base.Supplier public List get() { return new ArrayList(this.expectedValuesPerKey); } } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes3.dex */ public enum LinkedListSupplier implements Supplier> { INSTANCE; public static Supplier> instance() { return INSTANCE; } @Override // com.google.common.base.Supplier public List get() { return new LinkedList(); } } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes3.dex */ public static final class HashSetSupplier implements Supplier>, Serializable { private final int expectedValuesPerKey; HashSetSupplier(int i) { this.expectedValuesPerKey = CollectPreconditions.checkNonnegative(i, "expectedValuesPerKey"); } @Override // com.google.common.base.Supplier public Set get() { return Platform.newHashSetWithExpectedSize(this.expectedValuesPerKey); } } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes3.dex */ public static final class LinkedHashSetSupplier implements Supplier>, Serializable { private final int expectedValuesPerKey; LinkedHashSetSupplier(int i) { this.expectedValuesPerKey = CollectPreconditions.checkNonnegative(i, "expectedValuesPerKey"); } @Override // com.google.common.base.Supplier public Set get() { return Platform.newLinkedHashSetWithExpectedSize(this.expectedValuesPerKey); } } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes3.dex */ public static final class TreeSetSupplier implements Supplier>, Serializable { private final Comparator comparator; TreeSetSupplier(Comparator comparator) { this.comparator = (Comparator) Preconditions.checkNotNull(comparator); } @Override // com.google.common.base.Supplier public SortedSet get() { return new TreeSet(this.comparator); } } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes3.dex */ public static final class EnumSetSupplier> implements Supplier>, Serializable { private final Class clazz; EnumSetSupplier(Class cls) { this.clazz = (Class) Preconditions.checkNotNull(cls); } @Override // com.google.common.base.Supplier public Set get() { return EnumSet.noneOf(this.clazz); } } /* loaded from: classes3.dex */ public static abstract class MultimapBuilderWithKeys { private static final int DEFAULT_EXPECTED_VALUES_PER_KEY = 2; abstract Map> createMap(); MultimapBuilderWithKeys() { } public ListMultimapBuilder arrayListValues() { return arrayListValues(2); } public ListMultimapBuilder arrayListValues(final int i) { CollectPreconditions.checkNonnegative(i, "expectedValuesPerKey"); return new ListMultimapBuilder() { // from class: com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys.1 @Override // com.google.common.collect.MultimapBuilder.ListMultimapBuilder, com.google.common.collect.MultimapBuilder public ListMultimap build() { return Multimaps.newListMultimap(MultimapBuilderWithKeys.this.createMap(), new ArrayListSupplier(i)); } }; } public ListMultimapBuilder linkedListValues() { return new ListMultimapBuilder() { // from class: com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys.2 @Override // com.google.common.collect.MultimapBuilder.ListMultimapBuilder, com.google.common.collect.MultimapBuilder public ListMultimap build() { return Multimaps.newListMultimap(MultimapBuilderWithKeys.this.createMap(), LinkedListSupplier.instance()); } }; } public SetMultimapBuilder hashSetValues() { return hashSetValues(2); } public SetMultimapBuilder hashSetValues(final int i) { CollectPreconditions.checkNonnegative(i, "expectedValuesPerKey"); return new SetMultimapBuilder() { // from class: com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys.3 @Override // com.google.common.collect.MultimapBuilder.SetMultimapBuilder, com.google.common.collect.MultimapBuilder public SetMultimap build() { return Multimaps.newSetMultimap(MultimapBuilderWithKeys.this.createMap(), new HashSetSupplier(i)); } }; } public SetMultimapBuilder linkedHashSetValues() { return linkedHashSetValues(2); } public SetMultimapBuilder linkedHashSetValues(final int i) { CollectPreconditions.checkNonnegative(i, "expectedValuesPerKey"); return new SetMultimapBuilder() { // from class: com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys.4 @Override // com.google.common.collect.MultimapBuilder.SetMultimapBuilder, com.google.common.collect.MultimapBuilder public SetMultimap build() { return Multimaps.newSetMultimap(MultimapBuilderWithKeys.this.createMap(), new LinkedHashSetSupplier(i)); } }; } public SortedSetMultimapBuilder treeSetValues() { return treeSetValues(Ordering.natural()); } public SortedSetMultimapBuilder treeSetValues(final Comparator comparator) { Preconditions.checkNotNull(comparator, "comparator"); return new SortedSetMultimapBuilder() { // from class: com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys.5 @Override // com.google.common.collect.MultimapBuilder.SortedSetMultimapBuilder, com.google.common.collect.MultimapBuilder.SetMultimapBuilder, com.google.common.collect.MultimapBuilder public SortedSetMultimap build() { return Multimaps.newSortedSetMultimap(MultimapBuilderWithKeys.this.createMap(), new TreeSetSupplier(comparator)); } }; } public > SetMultimapBuilder enumSetValues(final Class cls) { Preconditions.checkNotNull(cls, "valueClass"); return new SetMultimapBuilder() { // from class: com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys.6 @Override // com.google.common.collect.MultimapBuilder.SetMultimapBuilder, com.google.common.collect.MultimapBuilder public SetMultimap build() { return Multimaps.newSetMultimap(MultimapBuilderWithKeys.this.createMap(), new EnumSetSupplier(cls)); } }; } } public Multimap build(Multimap multimap) { Multimap build = build(); build.putAll(multimap); return build; } /* loaded from: classes3.dex */ public static abstract class ListMultimapBuilder extends MultimapBuilder { @Override // com.google.common.collect.MultimapBuilder public abstract ListMultimap build(); ListMultimapBuilder() { super(); } @Override // com.google.common.collect.MultimapBuilder public ListMultimap build(Multimap multimap) { return (ListMultimap) super.build((Multimap) multimap); } } /* loaded from: classes3.dex */ public static abstract class SetMultimapBuilder extends MultimapBuilder { @Override // com.google.common.collect.MultimapBuilder public abstract SetMultimap build(); SetMultimapBuilder() { super(); } @Override // com.google.common.collect.MultimapBuilder public SetMultimap build(Multimap multimap) { return (SetMultimap) super.build((Multimap) multimap); } } /* loaded from: classes3.dex */ public static abstract class SortedSetMultimapBuilder extends SetMultimapBuilder { @Override // com.google.common.collect.MultimapBuilder.SetMultimapBuilder, com.google.common.collect.MultimapBuilder public abstract SortedSetMultimap build(); SortedSetMultimapBuilder() { } @Override // com.google.common.collect.MultimapBuilder.SetMultimapBuilder, com.google.common.collect.MultimapBuilder public SortedSetMultimap build(Multimap multimap) { return (SortedSetMultimap) super.build((Multimap) multimap); } } }