decompile with cfr
This commit is contained in:
commit
7d26cb34a1
1987 changed files with 238867 additions and 0 deletions
87
src/com/google/common/collect/ArrayListMultimap.java
Normal file
87
src/com/google/common/collect/ArrayListMultimap.java
Normal file
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.google.common.collect;
|
||||
|
||||
import com.google.common.annotations.GwtCompatible;
|
||||
import com.google.common.annotations.GwtIncompatible;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.collect.AbstractListMultimap;
|
||||
import com.google.common.collect.CollectPreconditions;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.google.common.collect.Serialization;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@GwtCompatible(serializable=true, emulated=true)
|
||||
public final class ArrayListMultimap<K, V>
|
||||
extends AbstractListMultimap<K, V> {
|
||||
private static final int DEFAULT_VALUES_PER_KEY = 3;
|
||||
@VisibleForTesting
|
||||
transient int expectedValuesPerKey;
|
||||
@GwtIncompatible(value="Not needed in emulated source.")
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
public static <K, V> ArrayListMultimap<K, V> create() {
|
||||
return new ArrayListMultimap<K, V>();
|
||||
}
|
||||
|
||||
public static <K, V> ArrayListMultimap<K, V> create(int expectedKeys, int expectedValuesPerKey) {
|
||||
return new ArrayListMultimap<K, V>(expectedKeys, expectedValuesPerKey);
|
||||
}
|
||||
|
||||
public static <K, V> ArrayListMultimap<K, V> create(Multimap<? extends K, ? extends V> multimap) {
|
||||
return new ArrayListMultimap<K, V>(multimap);
|
||||
}
|
||||
|
||||
private ArrayListMultimap() {
|
||||
super(new HashMap());
|
||||
this.expectedValuesPerKey = 3;
|
||||
}
|
||||
|
||||
private ArrayListMultimap(int expectedKeys, int expectedValuesPerKey) {
|
||||
super(Maps.newHashMapWithExpectedSize(expectedKeys));
|
||||
CollectPreconditions.checkNonnegative(expectedValuesPerKey, "expectedValuesPerKey");
|
||||
this.expectedValuesPerKey = expectedValuesPerKey;
|
||||
}
|
||||
|
||||
private ArrayListMultimap(Multimap<? extends K, ? extends V> multimap) {
|
||||
this(multimap.keySet().size(), multimap instanceof ArrayListMultimap ? ((ArrayListMultimap)multimap).expectedValuesPerKey : 3);
|
||||
this.putAll((Multimap)multimap);
|
||||
}
|
||||
|
||||
@Override
|
||||
List<V> createCollection() {
|
||||
return new ArrayList(this.expectedValuesPerKey);
|
||||
}
|
||||
|
||||
public void trimToSize() {
|
||||
for (Collection collection : this.backingMap().values()) {
|
||||
ArrayList arrayList = (ArrayList)collection;
|
||||
arrayList.trimToSize();
|
||||
}
|
||||
}
|
||||
|
||||
@GwtIncompatible(value="java.io.ObjectOutputStream")
|
||||
private void writeObject(ObjectOutputStream stream) throws IOException {
|
||||
stream.defaultWriteObject();
|
||||
stream.writeInt(this.expectedValuesPerKey);
|
||||
Serialization.writeMultimap(this, stream);
|
||||
}
|
||||
|
||||
@GwtIncompatible(value="java.io.ObjectOutputStream")
|
||||
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException {
|
||||
stream.defaultReadObject();
|
||||
this.expectedValuesPerKey = stream.readInt();
|
||||
int distinctKeys = Serialization.readCount(stream);
|
||||
HashMap map = Maps.newHashMapWithExpectedSize(distinctKeys);
|
||||
this.setMap(map);
|
||||
Serialization.populateMultimap(this, stream, distinctKeys);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue