ArrayListMultimap.java 2.6 KB
package com.google.common.collect;

import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.common.annotations.VisibleForTesting;
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.Iterator;
import java.util.List;
import java.util.Map;
import mt;
import nj;
import pt;

@GwtCompatible(emulated=true, serializable=true)
public final class ArrayListMultimap<K, V>
  extends mt<K, V>
{
  @GwtIncompatible("Not needed in emulated source.")
  private static final long serialVersionUID = 0L;
  @VisibleForTesting
  transient int a;
  
  private ArrayListMultimap()
  {
    super(new HashMap());
    this.a = 3;
  }
  
  private ArrayListMultimap(int paramInt1, int paramInt2)
  {
    super(Maps.newHashMapWithExpectedSize(paramInt1));
    nj.a(paramInt2, "expectedValuesPerKey");
    this.a = paramInt2;
  }
  
  private ArrayListMultimap(Multimap<? extends K, ? extends V> paramMultimap) {}
  
  public static <K, V> ArrayListMultimap<K, V> create()
  {
    return new ArrayListMultimap();
  }
  
  public static <K, V> ArrayListMultimap<K, V> create(int paramInt1, int paramInt2)
  {
    return new ArrayListMultimap(paramInt1, paramInt2);
  }
  
  public static <K, V> ArrayListMultimap<K, V> create(Multimap<? extends K, ? extends V> paramMultimap)
  {
    return new ArrayListMultimap(paramMultimap);
  }
  
  @GwtIncompatible("java.io.ObjectOutputStream")
  private void readObject(ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    paramObjectInputStream.defaultReadObject();
    this.a = paramObjectInputStream.readInt();
    int i = paramObjectInputStream.readInt();
    a(Maps.newHashMapWithExpectedSize(i));
    pt.a(this, paramObjectInputStream, i);
  }
  
  @GwtIncompatible("java.io.ObjectOutputStream")
  private void writeObject(ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    paramObjectOutputStream.defaultWriteObject();
    paramObjectOutputStream.writeInt(this.a);
    pt.a(this, paramObjectOutputStream);
  }
  
  final List<V> a()
  {
    return new ArrayList(this.a);
  }
  
  public final void trimToSize()
  {
    Iterator localIterator = d().values().iterator();
    while (localIterator.hasNext()) {
      ((ArrayList)localIterator.next()).trimToSize();
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/collect/ArrayListMultimap.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */